2017-07-06 05:53:02.69 spid17s Error: 17065, Severity: 16, State: 1.
2017-07-06 05:53:02.69 spid17s SQL Server Assertion: File: <latch.cpp>, line = 1538 Failed Assertion = '0' Attempted release of unacquired latch. This error may be timing-related. If the error persists after rerunning the statement, use DBCC CHECKDB to check the database for structural integrity, or restart the server to ensure in-memory data structures are not corrupted.
2017-07-06 05:53:02.69 spid17s Using 'dbghelp.dll' version '4.0.5'
2017-07-06 05:53:02.70 spid17s **Dump thread - spid = 17, PSS = 0x1589E7D8, EC = 0x1589E7E0
2017-07-06 05:53:02.70 spid17s ***Stack Dump being sent to C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\LOG\SQLDump1824.txt
2017-07-06 05:53:02.70 spid17s * *******************************************************************************
2017-07-06 05:53:02.70 spid17s *
2017-07-06 05:53:02.70 spid17s * BEGIN STACK DUMP:
2017-07-06 05:53:02.70 spid17s * 07/06/17 05:53:02 spid 17
2017-07-06 05:53:02.70 spid17s *
2017-07-06 05:53:02.70 spid17s * Location: latch.cpp:1538
2017-07-06 05:53:02.70 spid17s * Expression: 0
2017-07-06 05:53:02.70 spid17s * SPID: 17
2017-07-06 05:53:02.70 spid17s * Process ID: 4572
2017-07-06 05:53:02.70 spid17s * Description: Attempted release of unacquired latch
以上是错误日志的详细信息。似乎 tempdb 损坏存在一些问题。实例重新启动修复了该问题,并且 sql 转储创建停止。
似乎已经解决的是 tempdb 在重新启动后重新创建。您对此有何看法?
这可能是内存问题,或者您的系统中可能存在数据库损坏。在您的所有数据库上运行
CHECKDB
,并确保您没有任何硬件问题。至于重新创建 tempdb,是的,从某种意义上说,所有对象都被清除,但文件本身并没有被重新创建(除非您从操作系统中手动删除文件)。我建议阅读这篇关于 tempdb 中日志文件归零的文章。