Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
V tomto článku
platí pro:SQL Server
Azure SQL Database
azure SQL Managed Instance
Kontroluje konzistenci katalogu v zadané databázi. Databáze musí být online.
DBCC CHECKCATALOG
[
(
database_name | database_id | 0
)
]
[ WITH NO_INFOMSGS ]
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 .
Potlačí všechny informační zprávy.
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 tempdb
k 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.
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.
Vyžaduje členství v pevné roli serveru nebo db_owner pevné databázové roli.
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
- DBCC (Transact-SQL)
- systémových tabulek (Transact-SQL)