Delen via


MSSQLSERVER_8992

Van toepassing op:SQL Server

Bijzonderheden

Onderdeel Waarde
Productnaam SQL Server
Gebeurtenis-id 8992
Bron van gebeurtenis MSSQLSERVER
Onderdeel SQLEngine
Symbolische naam DBCC3_CHECK_CATALOG
Berichttekst Controleer de STATUS VAN HET FOUTniveauNIVEAU van de catalogus: BERICHT.

Opmerking

8992 Foutbericht verwijst naar een ander specifiek bericht (variërend van 3851 tot 3858) over de werkelijke inconsistentie.

Uitleg

DBCC CHECKCATALOG of DBCC CHECKDB een inconsistentie in de systeemmetagegevenstabellen voor het opgegeven object gevonden. Dat wil gezegd, er is een inconsistentie tussen de vastgelegde object-id en het object dat is opgegeven in het foutbericht.

Deze fout kan optreden wanneer een of meer systeemtabellen handmatig zijn bijgewerkt op een manier die een inconsistentie maakt in de systeemmetagegevens. U kunt bijvoorbeeld handmatig een object uit de sysobjects tabel verwijderen zonder gekoppelde rijen in andere tabellen, zoals sysindexes en syscolumns.

Deze fout kan optreden bij het uitvoeren DBCC CHECKDB van een database die is bijgewerkt van SQL Server 2000 (8.x) naar een latere versie van SQL Server. In SQL Server 2000 (8.x) DBCC CHECKDB is geen functionaliteit opgenomen DBCC CHECKCATALOG , dus de fout wordt niet opgevangen vóór de upgrade, tenzij DBCC CHECKCATALOG deze specifiek wordt uitgevoerd voor de database in SQL Server 2000 (8.x).

Mogelijk ziet u een van de volgende fouten, samen met fout 8992:

Bericht-id Tekst van het bericht
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.

Gebruikersactie

Het opgegeven object verwijderen en opnieuw maken

Verwijder indien mogelijk het opgegeven object en maak het opnieuw. Als het object bijvoorbeeld een opgeslagen procedure of door de gebruiker gedefinieerd type is, kan het opnieuw maken van het object het probleem oplossen.

Herstellen vanuit back-up

Als het probleem geen hardwaregerelateerd is en er een bekende schone back-up beschikbaar is, herstelt u de database vanuit de back-up. Deze actie is alleen van toepassing als de back-up de metagegevensfout niet bevat.

De gegevens exporteren naar een nieuwe database

Als de back-up ook de inconsistentie van de metagegevens bevat, moet u een nieuwe database maken en de inhoud van de bestaande database exporteren naar de nieuwe database.

DBCC CHECKDB kan deze fout niet herstellen

Deze fout kan niet worden hersteld. Als u de database niet kunt herstellen vanuit een back-up, neemt u contact op met Microsoft Ondersteuning.

Systeemtabellen niet handmatig bijwerken

Maak geen handmatige updates voor systeemtabellen. SQL Server biedt geen ondersteuning voor handmatige wijzigingen in systeemdatabases. Als u een systeemtabel in een SQL Server-database bijwerkt, worden de volgende gebeurtenissen vastgelegd:

Wanneer een systeemtabel handmatig wordt bijgewerkt

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.

Een database starten met een systeemtabel die handmatig is bijgewerkt

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

U voert de DBCC CHECKDB-opdracht uit nadat een systeemtabel handmatig is bijgewerkt

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