Megosztás:


MSSQLSERVER_8992

A következőkre vonatkozik:SQL Server

Részletek

Termék Érték
Terméknév SQL Server
Eseményazonosító 8992
Eseményforrás MSSQLSERVER
Összetevő SQLEngine
Szimbolikus név DBCC3_CHECK_CATALOG
Üzenet szövege Ellenőrizze a katalógus msg hibaszint-szintje állapotának állapotát: ÜZENET.

Megjegyzés:

8992 A hibaüzenet egy másik konkrét üzenetre hivatkozik (3851-től 3858-ig) a tényleges következetlenségről.

Magyarázat

DBCC CHECKCATALOG vagy DBCC CHECKDB inkonzisztenciát talált a megadott objektum rendszer metaadattábláiban. Ez azt jelzi, hogy a rögzített objektumazonosító és a hibaüzenetben megadott objektum között ellentmondás áll fenn.

Ez a hiba akkor fordulhat elő, ha egy vagy több rendszertáblát manuálisan frissítettek oly módon, hogy az inkonzisztencia keletkezik a rendszer metaadataiban. Előfordulhat például, hogy manuálisan töröl egy objektumot a sysobjects táblából anélkül, hogy eltávolítaná a kapcsolódó sorokat más táblákban, például sysindexes és syscolumns.

Ez a hiba akkor fordulhat elő, ha az SQL Server 2000 -ről (8.x) frissített adatbázison fut DBCC CHECKDB az SQL Server egy későbbi verziójára. Az SQL Server 2000 -ben (8.x) DBCC CHECKDB nem tartalmaztak DBCC CHECKCATALOG funkciókat, ezért a hiba csak akkor jelenik meg a frissítés előtt, ha DBCC CHECKCATALOG kifejezetten az SQL Server 2000-ben (8.x) futtatják az adatbázison.

A következő hibák és a 8992-s hiba bármelyike jelenhet meg:

Üzenetazonosító Üzenet szövege
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.

Felhasználói művelet

A megadott objektum elvetése és ismételt létrehozása

Ha lehetséges, ejtse le és hozza létre újra a megadott objektumot. Ha például az objektum tárolt eljárás vagy felhasználó által definiált típus, az objektum újraírása megoldhatja a problémát.

Visszaállítás biztonsági másolatból

Ha a probléma nem hardverrel kapcsolatos, és egy ismert tiszta biztonsági mentés érhető el, állítsa vissza az adatbázist a biztonsági másolatból. Ez a művelet csak akkor alkalmazható, ha a biztonsági mentés nem tartalmazza a metaadat-hibát.

Adatok exportálása új adatbázisba

Ha a biztonsági másolat a metaadatok inkonzisztencia-tartalmát is tartalmazza, létre kell hoznia egy új adatbázist, és exportálnia kell a meglévő adatbázis tartalmát az új adatbázisba.

A DBCC CHECKDB nem tudja kijavítani ezt a hibát

Ez a hiba nem javítható. Ha nem tudja visszaállítani az adatbázist biztonsági másolatból, forduljon a Microsoft ügyfélszolgálatához.

Rendszertáblák manuális frissítése

Ne végezze el a rendszertáblák manuális frissítését. Az SQL Server nem támogatja a rendszeradatbázisok manuális módosítását. Ha frissít egy rendszertáblát egy SQL Server-adatbázisban, a rendszer a következő eseményeket naplózza:

Rendszertáblák manuális frissítésekor

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.

Adatbázis indítása manuálisan frissített rendszertáblával

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

A DBCC CHECKDB parancs végrehajtása a rendszertáblák manuális frissítése után

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