Freigeben über


MSSQLSERVER_8992

Gilt für:SQL Server

Einzelheiten

Element Wert
Produktname SQL Server
Ereignis-ID 8992
Ereignisquelle MSSQLSERVER
Komponente SQLEngine
Symbolischer Name DBCC3_CHECK_CATALOG
Meldungstext Meldung ERROR zum Prüfen des Katalogs, Ebene LEVEL, Status STATE: MESSAGE.

Hinweis

Die Fehlermeldung 8992 verweist auf eine spezifische andere Fehlermeldung (zwischen 3851 und 3858) zur tatsächlichen Inkonsistenz.

Erklärung

DBCC CHECKCATALOG oder DBCC CHECKDB eine Inkonsistenz in den Systemmetadatentabellen für das angegebene Objekt gefunden. Das heißt, es gibt eine Inkonsistenz zwischen der aufgezeichneten Objekt-ID und dem in der Fehlermeldung angegebenen Objekt.

Dieser Fehler kann auftreten, wenn eine oder mehrere Systemtabellen manuell aktualisiert wurden, sodass eine Inkonsistenz in den Systemmetadaten erstellt wird. Beispielsweise können Sie ein Objekt manuell aus der sysobjects Tabelle löschen, ohne die zugeordneten Zeilen in anderen Tabellen wie sysindexes z. B. und syscolumns.

Dieser Fehler kann auftreten, wenn eine Datenbank ausgeführt DBCC CHECKDB wird, die von SQL Server 2000 (8.x) auf eine höhere Version von SQL Server aktualisiert wurde. In SQL Server 2000 (8.x) DBCC CHECKDB wurden keine Funktionen enthalten DBCC CHECKCATALOG , sodass der Fehler nicht vor dem Upgrade abgefangen wird, es sei denn DBCC CHECKCATALOG , der Fehler wird speziell für die Datenbank in SQL Server 2000 (8.x) ausgeführt.

Möglicherweise werden alle folgenden Fehler zusammen mit Fehler 8992 angezeigt:

Meldungs-ID Text der Nachricht
3851 An invalid row (%ls) was found in the system table sys.%ls%ls.
3852 Row (%ls) in sys.%ls%ls does not have a matching row (%ls) in sys.%ls%ls.
3853 Attribute (%ls) of row (%ls) in sys.%ls%ls does not have a matching row (%ls) in sys.%ls%ls.
3854 Attribute (%ls) of row (%ls) in sys.%ls%ls has a matching row (%ls) in sys.%ls%ls that is invalid.
3855 Attribute (%ls) exists without a row (%ls) in sys.%ls%ls.
3856 Attribute (%ls) exists but should not for row (%ls) in sys.%ls%ls.
3857 The attribute (%ls) is required but is missing for row (%ls) in sys.%ls%ls.
3858 The attribute (%ls) of row (%ls) in sys.%ls%ls has an invalid value.

Benutzeraktion

Ablegen und neu erstellen Sie das angegebene Objekt

Wenn möglich, löschen Sie das angegebene Objekt, und erstellen Sie es erneut. Wenn das Objekt beispielsweise eine gespeicherte Prozedur oder ein benutzerdefinierter Typ ist, kann das Erneute Erstellen des Objekts das Problem beheben.

Aus Sicherung wiederherstellen

Wenn das Problem nicht hardwarebezogen ist und eine bekannte saubere Sicherung verfügbar ist, stellen Sie die Datenbank aus der Sicherung wieder her. Diese Aktion gilt nur, wenn die Sicherung nicht den Metadatenfehler enthält.

Exportieren der Daten in eine neue Datenbank

Wenn die Metadateninkonsistenz auch in der Sicherung enthalten ist, müssen Sie eine neue Datenbank erstellen und den Inhalt der vorhandenen Datenbank in die neue Datenbank exportieren.

DBCC CHECKDB kann diesen Fehler nicht reparieren.

Dieser Fehler kann nicht repariert werden. Wenn Sie die Datenbank nicht aus einer Sicherung wiederherstellen können, wenden Sie sich an den Microsoft-Support.

Systemtabellen nicht manuell aktualisieren

Nehmen Sie keine manuellen Aktualisierungen an Systemtabellen vor. SQL Server unterstützt keine manuellen Änderungen an Systemdatenbanken. Wenn Sie eine Systemtabelle in SQL Server-Datenbank aktualisieren, werden die folgenden Ereignisse protokolliert:

Wenn eine Systemtabelle manuell aktualisiert wird

Msg 17659: Warning: System table ID <id> has been updated directly in database ID <id> and cache coherence may not have been maintained. SQL Server should be restarted.

Starten einer Datenbank mit einer Systemtabelle, die manuell aktualisiert wurde

Msg 3859: Warning: The system catalog was updated directly in database ID <id>, most recently at date_time.

Sie führen den BEFEHL DBCC CHECKDB aus, nachdem eine Systemtabelle manuell aktualisiert wurde.

Msg 3859: Warning: The system catalog was updated directly in database ID <id>, most recently at date_time.