DBCC zgłasza bład:
Executing the query „DBCC CHECKDB(’MyDb’, NOINDEX)” failed with the following error: „The In-row data RSVD page count for object „XX40300”, index ID 0, partition ID 14181197782299, alloc unit ID 14181193482240 (type In-row data) is incorrect. Run DBCC UPDATEUSAGE.
Opss, baza uszkodzona. Zazwyczaj w tym momecie pomysły są następujące:
- Repair_Rebuild jeżeli do uszkodzenia dochodzi na indeksach nonclustered
- Repair_Allow_Data_Loss jeżeli do uszkodzenia dochodzi w samej tabeli, ale zgadzasz się na utratę części danych
- Restore bazy danych, ale to też nie jest fajne
Sugestia zawarta w komunikacie może jednak odkryć kolejną metodę naprawy bazy:
Komenda
DBCC UPDATEUSAGE(’MyDb’) WITH NO_INFOMSGS
naprawia liczniki ilości rekordów i ilości wolnych/zajętych stron w tabelach. Jest niegroźna (raczej) ale backup przed jej uruchomieniem dla własnego dobra każdy DBA powinien wykonać.
W moim przypadku baza się naprawiła. Kolejne uruchomienie
DBCC CHECKDB(’MyDb’) WITH NO_INFOMSGS
nie wykazuje więcej błędów.