日期:2014-05-18  浏览次数:20602 次

dbcc checktable之后的报错解决办法
在执行dbcc checktable('fin_close')之后报了如下错误:

DBCC results for 'FIN_CLOSE'.
Msg 8952, Level 16, State 1, Line 2
Table error: Table 'FIN_CLOSE' (ID 1026102696). Index row in index 'I_FIN_CLOSE_tender_code_sto_' (ID 2) does not match any data row. Possible extra or invalid keys for:
Msg 8956, Level 16, State 1, Line 2
Index row (1:59049:413) with values (TENDER_CODE = 'AMEX' and STORE_CODE_ID = 16 and Sequence = '1 ' and SESSION_NUMBER = 414) pointing to the data row identified by (STORE_CODE_ID = 16 and Sequence = '1 ' and SESSION_NUMBER = 414 and TENDER_CODE = 'AMEX').
There are 5369 rows in 98 pages for object "FIN_CLOSE".
CHECKTABLE found 0 allocation errors and 1 consistency errors in table 'FIN_CLOSE' (object ID 1026102696).
repair_rebuild is the minimum repair level for the errors found by DBCC CHECKTABLE (xpert_standalone.dbo.FIN_CLOSE).
DBCC execution completed. If DBCC printed error messages, contact your system administrator.


请问这段sql server的提示信息主要说的是个什么问题? 大概说一下就行,谢谢了

------解决方案--------------------
表 fin_close 中有索引 I_FIN_CLOSE_tender_code_sto_ 与列值不匹配
索引值 TENDER_CODE = 'AMEX' and STORE_CODE_ID = 16 and Sequence = '1 ' and SESSION_NUMBER = 414
匹配? 到 STORE_CODE_ID = 16 and Sequence = '1 ' and SESSION_NUMBER = 414 and TENDER_CODE = 'AMEX' 上去了.
表上发现一个一致性错误
重建索引能解决此问题.
------解决方案--------------------
表错误:表'FIN_CLOSE“(编号1026102696)。在索引的索引行
“I_FIN_CLOSE_tender_code_sto_”(编号2)不匹配任何数据行。可能额外的或无效
为键:
消息8956,级别16,状态1,行2
索引行(1:59049:413)与值(TENDER_CODE=“美国运通”和STORE_CODE_ID=16和序列
= '1'和SESSION_NUMBER=414)指向数据行(STORE_CODE_ID= 16
和序列= '1'和SESSION_NUMBER=414 TENDER_CODE=“美国运通”)。
有5369行中的对象“FIN_CLOSE”98页。
CHECKTABLE发现了0个分配错误和1个一致性错误表“FIN_CLOSE(对象ID
1026102696)。
REPAIR_REBUILD是最低的修复级别,DBCC CHECKTABLE发现的错误
(xpert_standalone.dbo.FIN_CLOSE)。
DBCC执行完毕。如果DBCC输出了错误信息,请联系您的系统管理员。