2016-05-30 5 views
1

DBCC CHECKDB zeigen folgende Fehlermeldung in meiner SQL Server 2008 R2 DatenbankFehler 8921 Ausführen von DBCC CHECKDB

Msg 8921, Ebene 16, Status 1, Zeile 2 prüfen beendet. Beim Sammeln von Fakten wurde ein Fehler festgestellt. Möglicherweise ist tempdb außerhalb des Speicherbereichs oder eine Systemtabelle inkonsistent. Überprüfen Sie die vorherigen Fehler.

Was ist die Lösung?

+0

Ist das die einzige Nachricht, die es zurückgibt? Wie lange läuft es, bevor es aufhört? Und was passiert, wenn Sie DBCC CHECKALLOC in derselben Datenbank ausführen? –

+0

Es zeigt folgende Meldungen nach dem Ausführen von DBCC CHECKALLOC. Msg 8921, Ebene 16, Status 1, Zeile 2 Prüfung beendet. Beim Sammeln von Fakten wurde ein Fehler festgestellt. Möglicherweise ist tempdb außerhalb des Speicherbereichs oder eine Systemtabelle inkonsistent. Überprüfen Sie die vorherigen Fehler. CHECKALLOC hat 0 Zuordnungsfehler und 0 Konsistenzfehler in der Datenbank 'OldLotus' gefunden. –

Antwort

2

Da DBCC CHECKALLOC auch fehlschlägt, ohne beschädigte Nachrichten, hat Ihre Datenbank beschädigte Metadaten und Sie müssen sie von Ihren Backups wiederherstellen (das erste, was sie tut, ist einige grundlegende Prüfungen der drei kritischen Systemtabellen durchzuführen, und Wenn sie stark beschädigt sind, wird es mit der Nachricht 8921 fehlschlagen. Sie haben hier keine andere Wahl - Sie können keine Reparatur ausführen, da Sie DBCC CHECKDB nicht ausführen können.

Es ist möglich, dass Sie eingrenzen können, welche Systemtabelle mit DBCC CHECKTABLE bei aufeinanderfolgenden Objekt-IDs aus sys.objects beschädigt ist, und dann manuell die Korruption bearbeiten, aber das ist sehr fortgeschritten und hat eine sehr geringe Erfolgschance.

Wenn Sie keine Sicherungen haben, müssen Sie eine neue Datenbank erstellen und dann alle Schemas und Daten in die neue Datenbank exportieren.

Verwandte Themen