Eu tenho um VLDB de produção que estou usando a orientação de Paul Randal para distribuir a DBCC CHECKDB
carga de trabalho por uma semana. Estou registrando os resultados de DBCC CHECKTABLE WITH TABLERESULTS
e DBCC CHECKALLOC WITH TABLERESULTS
para uma tabela e notei que DBCC CHECKTABLE WITH TABLERESULTS
estava retornando apenas uma única linha por tabela em tabelas não corrompidas. Aqui estão as primeiras colunas.
Error Level State MessageText
2593 10 1 There are 57 rows in 1 pages for object "SmallTable".
Mas quando executo DBCC CHECKTABLE WITH TABLERESULTS
em uma tabela corrompida em um banco de dados de teste, que corrompi com este método , recebo o seguinte:
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).
Estou curioso para saber por que o erro 8990 não retornou com a tabela não corrompida? DBCC CHECALLOC WITH TABLERESULTS
e DBCC CHECKDB WITH TABLERESULTS
retorne esta linha quando não houver erros de alocação ou consistência para relatar.
Pergunta bônus, por que não DBCC CHECKCATALOG
tem uma WITH TABLERESULT
discussão?