可能是 tempdb 空间不足或系统表不一致

Ran*_*ava 5 sql-server sql-server-2008-r2

运行 DBCC CHECKDB 时出现此错误

消息 8921,级别 16,状态 1,第 1 行检查已终止。收集事实时检测到故障。可能是 tempdb 空间不足或系统表不一致。检查以前的错误。

之后,一位同事在执行存储过程时向我展示了这个错误。

数据库 ID 85,页 (1:3403),LOB 数据类型节点的槽 0 不存在。这通常是由可以读取数据页上未提交数据的事务引起的。运行 DBCC 检查表

然后我尝试为该过程中的表运行 DBCC CHECKTABLE,对除一个表之外的所有表成功执行命令。为了解决这个问题,我不得不重新启动服务器......如果它发生在生产服务器中怎么办,那么如何克服它。

Seb*_*ine 5

DBCC CHECKDB广泛使用 tempdb。它依赖于类似于快照隔离的机制,以确保它始终看到数据库的事务一致映像,而与其他可能发生的事情无关。

您收到的错误很可能是因为 tempdb 所在的驱动器上没有足够的空间。但是,该错误还声明要检查任何先前的错误。有吗?