Číst v angličtině

Sdílet prostřednictvím


DBCC CHECKCATALOG (Transact-SQL)

platí pro:SQL ServerAzure SQL Databaseazure SQL Managed Instance

Kontroluje konzistenci katalogu v zadané databázi. Databáze musí být online.

Transact-SQL konvence syntaxe

Syntax

DBCC CHECKCATALOG
[
    (
    database_name | database_id | 0
    )
]
    [ WITH NO_INFOMSGS ]

Argumenty

database_name | database_id | 0

Název nebo ID databáze, pro kterou chcete zkontrolovat konzistenci katalogu. Pokud není zadána nebo pokud je zadána hodnota 0, použije se aktuální databáze. Názvy databází musí splňovat pravidla pro identifikátory .

WITH NO_INFOMSGS

Potlačí všechny informační zprávy.

Poznámky

Po dokončení příkazu DBCC CHECKCATALOG se do protokolu chyb SQL Serveru zapíše zpráva. Pokud se příkaz DBCC úspěšně spustí, zpráva značí úspěšné dokončení a dobu, po kterou se příkaz spustil. Pokud se příkaz DBCC zastaví před dokončením kontroly kvůli chybě, zpráva indikuje, že příkaz byl ukončen, hodnota stavu a doba spuštění příkazu. Následující tabulka uvádí a popisuje stavové hodnoty, které lze zahrnout do zprávy.

Stát Popis
0 Byla vyvolána chyba 8930. Označuje poškození metadat, která způsobila ukončení příkazu DBCC.
1 Byla vyvolána chyba 8967. Došlo k vnitřní chybě DBCC.
2 Při opravě databáze v nouzovém režimu došlo k chybě.
3 Označuje poškození metadat, která způsobila ukončení příkazu DBCC.
4 Bylo zjištěno porušení kontrolního výrazu nebo přístupu.
5 Došlo k neznámé chybě, která ukončila příkaz DBCC.

DBCC CHECKCATALOG provádí různé kontroly konzistence mezi tabulkami systémových metadat. DBCC CHECKCATALOG používá interní snímek databáze k zajištění transakční konzistence, kterou potřebuje k provedení těchto kontrol. Další informace najdete v tématu Zobrazení velikosti zhuštěného souboru snímku databáze (Transact-SQL) a použití interního snímku databáze DBTransact-SQLCC oddílu .

Pokud snímek nejde vytvořit DBCC CHECKCATALOG získá výhradní zámek databáze, aby získal požadovanou konzistenci. Pokud jsou zjištěny nějaké nekonzistence, nelze je opravit a databáze se musí obnovit ze zálohy.

Poznámka

Spuštění DBCC CHECKCATALOG proti tempdb neprovádí žádné kontroly. Důvodem je to, že z důvodů výkonu nejsou snímky databáze na tempdbk dispozici . To znamená, že požadovanou transakční konzistenci nelze získat. Restartujte službu databázového stroje a vyřešte případné problémy s tempdb metadaty.

Poznámka

DBCC CHECKCATALOG nekontroluje data FILESTREAM. FILESTREAM ukládá binární velké objekty (BLOBS) do systému souborů.

DBCC CHECKCATALOG je také spuštěn jako součást DBCC CHECKDB.

Sady výsledků

Pokud není zadána žádná databáze, DBCC CHECKCATALOG vrátí:

DBCC execution completed. If DBCC printed error messages, contact your system administrator.

Pokud je AdventureWorks2022 zadán jako název databáze, DBCC CHECKCATALOG vrátí:

DBCC execution completed. If DBCC printed error messages, contact your system administrator.

Dovolení

Vyžaduje členství v pevné roli serveru nebo db_owner pevné databázové roli.

Příklady

Následující příklad zkontroluje integritu katalogu v aktuální databázi i v databázi AdventureWorks2022.

-- Check the current database.
DBCC CHECKCATALOG;
GO
-- Check the AdventureWorks database.
DBCC CHECKCATALOG (AdventureWorks2022);
GO

Viz také