Sdílet prostřednictvím


MSSQLSERVER_8992

platí pro:SQL Server

Podrobnosti

Položka Hodnota
Název produktu SQL Server
ID události 8992
Zdroj událostí MSSQLSERVER
Součást SQLEngine
Symbolický název DBCC3_CHECK_CATALOG
Text zprávy Zkontrolujte stav úrovně chyby katalogu: MESSAGE.

Poznámka:

8992 Chybová zpráva odkazuje na jinou konkrétní zprávu (od 3851 do 3858) o skutečné nekonzistence.

Vysvětlení

DBCC CHECKCATALOG nebo DBCC CHECKDB našla nekonzistence v tabulkách systémových metadat pro zadaný objekt. To znamená, že mezi zaznamenaným ID objektu a objektem zadaným v chybové zprávě je nekonzistence.

K této chybě může dojít, když se jedna nebo více systémových tabulek ručně aktualizovala způsobem, který vytvoří nekonzistence v systémových metadatech. Můžete například ručně odstranit objekt z sysobjects tabulky bez odebrání přidružených řádků v jiných tabulkách, například sysindexes a syscolumns.

K této chybě může dojít při spuštění DBCC CHECKDB v databázi, která byla upgradována z SQL Serveru 2000 (8.x) na novější verzi SQL Serveru. V systému SQL Server 2000 (8.x) DBCC CHECKDB nezahrnulo DBCC CHECKCATALOG funkce, takže se chyba před upgradem nezachytí, pokud DBCC CHECKCATALOG se nespustí konkrétně proti databázi v SYSTÉMU SQL Server 2000 (8.x).

Může se zobrazit některá z následujících chyb společně s chybou 8992:

ID zprávy Text zprávy
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.

Akce uživatele

Odstranění a opětovné vytvoření zadaného objektu

Pokud je to možné, odstraňte zadaný objekt a vytvořte ho znovu. Například pokud je objekt uložená procedura nebo uživatelem definovaný typ, opětovné vytvoření objektu může problém vyřešit.

Obnovení ze zálohy

Pokud problém nesouvisí s hardwarem a je k dispozici známá čistá záloha, obnovte databázi ze zálohy. Tato akce se dá použít jenom v případě, že zálohování neobsahuje chybu metadat.

Export dat do nové databáze

Pokud záloha obsahuje také nekonzistence metadat, musíte vytvořit novou databázi a exportovat obsah existující databáze do nové databáze.

DBCC CHECKDB nemůže tuto chybu opravit.

Tuto chybu nelze opravit. Pokud nemůžete obnovit databázi ze zálohy, obraťte se na podporu Microsoftu.

Ruční aktualizace systémových tabulek

Neprodávejte ruční aktualizace systémových tabulek. SQL Server nepodporuje žádné ruční změny systémových databází. Pokud aktualizujete systémovou tabulku v databázi SQL Serveru, protokolují se následující události:

Při ruční aktualizaci systémové tabulky

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.

Spuštění databáze se systémovou tabulkou, která byla ručně aktualizována

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

Příkaz DBCC CHECKDB spustíte po ruční aktualizaci systémové tabulky.

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