问题现象:用友T+软件,客户反馈查询库存时报错,但是其他操作正常。
通过DBCC CHECKDB()检测数据库,提示:
消息 8921,级别 16,状态 1,第 1 行
检查已终止。收集事实数据时检测到错误。可能是 tempdb 空间用尽或某个系统表不一致。请检查前面的错误消息。

首先用自主开发的软件对数据库进行扫描,发现损坏表的数据完全正常。出错原因还是有可能是系统表或物理页链损坏造成的,由于客户要求必需要在软件里直接使用,所以通过提取数据重新生成库暂时是行不通的,只能对在原库上进行修复 ,能过对MDF文件底层分析,修复错误系统表及物理页链,重新对数据库做DBCC,数据库完好。
如果您的数据库有任何问题,可以随时联系我, 18910108696 王工,微信同号。
【数据库故障描述】
用户在使用过过程中,由于突然断电,造成数据无法读取。DBCC检测数据库提示以下错误
消息 8921,级别 16,状态 1,第 1 行
检查已终止。收集事实数据时检测到错误。可能是 tempdb 空间用尽或某个系统表不一致。请检查前面的错误消息。
【修复过程】
使用DBCC CHECKDB 检测得到如下报错,,数据库系统架构系统表已损坏!
DBCC 执行完毕。如果DBCC 输出了错误信息,请与系统管理员联系。
这种SQL SERVER本身无法检测出的错误,只能通过手工跟踪,修改底层键表进行修复,跟踪发现有三个数据页有错误写入,手工修改后,DBCC检测完好。