我有一个生产 VLDB,我正在使用Paul Randal 的指导将DBCC CHECKDB
工作量分散到一周内。我正在记录表的结果DBCC CHECKTABLE WITH TABLERESULTS
并记录DBCC CHECKALLOC WITH TABLERESULTS
到表中,注意到DBCC CHECKTABLE WITH TABLERESULTS
在未损坏的表上每个表只返回一行。这是前几列。
Error Level State MessageText
2593 10 1 There are 57 rows in 1 pages for object "SmallTable".
但是当我DBCC CHECKTABLE WITH TABLERESULTS
在测试数据库中的损坏表上运行时,我用这种方法损坏了它,我得到以下信息:
Error Level State MessageText
8939 16 98 Table error: Object ID 565577053, index ID 1, partition ID 72057594041335808, alloc unit ID 72057594046971904 (type In-row data), page (1:312). Test (IS_OFF (BUF_IOERR, pBUF->bstat)) failed. Values are 133129 and -4.
8928 16 1 Object ID 565577053, index ID 1, partition ID 72057594041335808, alloc unit ID 72057594046971904 (type In-row data): Page (1:312) could not be processed. See other errors for details.
8980 16 1 Table error: Object ID 565577053, index ID 1, partition ID 72057594041335808, alloc unit ID 72057594046971904 (type In-row data). Index node page (0:0), slot 0 refers to child page (1:312) and previous child (0:0), but they were not encountered.
2593 10 1 There are 0 rows in 0 pages for object "tblWhoops".
8990 10 1 CHECKTABLE found 0 allocation errors and 3 consistency errors in table 'tblWhoops' (object ID 565577053).
我很好奇为什么错误 8990没有随未损坏的表一起返回?DBCC CHECALLOC WITH TABLERESULTS
并DBCC CHECKDB WITH TABLERESULTS
在没有任何分配或一致性错误要报告时返回此行。
DBCC CHECKCATALOG
奖金问题,为什么没有WITH TABLERESULT
争论?