Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
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.