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,对除一个表之外的所有表成功执行命令。为了解决这个问题,我不得不重新启动服务器......如果它发生在生产服务器中怎么办,那么如何克服它。
DBCC CHECKDB
广泛使用 tempdb。它依赖于类似于快照隔离的机制,以确保它始终看到数据库的事务一致映像,而与其他可能发生的事情无关。
您收到的错误很可能是因为 tempdb 所在的驱动器上没有足够的空间。但是,该错误还声明要检查任何先前的错误。有吗?