DBCC CHECKCATALOG (Transact-SQL)
gäller för:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Söker efter katalogkonsekvens i den angivna databasen. Databasen måste vara online.
Transact-SQL syntaxkonventioner
Syntax
DBCC CHECKCATALOG
[
(
database_name | database_id | 0
)
]
[ WITH NO_INFOMSGS ]
Argument
database_name | database_id | 0
Namnet eller ID:t för databasen som katalogkonsekvensen ska kontrolleras för. Om det inte anges, eller om 0 anges, används den aktuella databasen. Databasnamn måste följa reglerna för identifierare.
MED NO_INFOMSGS
Undertrycker alla informationsmeddelanden.
Anmärkningar
När DBCC CHECKCATALOG
kommandot har slutförts skrivs ett meddelande till SQL Server-felloggen. Om DBCC-kommandot körs anger meddelandet att det har slutförts och hur lång tid kommandot kördes. Om DBCC-kommandot stoppas innan kontrollen slutförs på grund av ett fel anger meddelandet att kommandot avslutades, ett tillståndsvärde och hur lång tid kommandot kördes. I följande tabell visas och beskrivs de tillståndsvärden som kan inkluderas i meddelandet.
Stat | Beskrivning |
---|---|
0 | Felnummer 8930 har genererats. Detta indikerar en skadad metadata som gjorde att DBCC-kommandot avslutades. |
1 | Felnummer 8967 har genererats. Det uppstod ett internt DBCC-fel. |
2 | Ett fel inträffade under reparationen av databasen i nödläge. |
3 | Detta indikerar en skadad metadata som gjorde att DBCC-kommandot avslutades. |
4 | En kontroll- eller åtkomstöverträdelse har identifierats. |
5 | Ett okänt fel uppstod som avslutade DBCC-kommandot. |
DBCC CHECKCATALOG
utför olika konsekvenskontroller mellan systemmetadatatabeller.
DBCC CHECKCATALOG
använder en intern databasögonblicksbild för att ge den transaktionskonsekvens som krävs för att utföra dessa kontroller. Mer information finns i Visa storleken på sparse-filen för en databasögonblicksbild (Transact-SQL) och avsnittet om databasögonblicksbild i DBCC (Transact-SQL).
Om en ögonblicksbild inte kan skapas DBCC CHECKCATALOG
hämtar ett exklusivt databaslås för att få den konsekvens som krävs. Om några inkonsekvenser identifieras kan de inte repareras och databasen måste återställas från en säkerhetskopia.
Not
Att köra DBCC CHECKCATALOG
mot tempdb
utför inga kontroller. Det beror på att databasögonblicksbilder av prestandaskäl inte är tillgängliga på tempdb
. Det innebär att den transaktionskonsekvens som krävs inte kan erhållas. Starta om database engine-tjänsten för att lösa eventuella problem med tempdb
metadata.
Not
DBCC CHECKCATALOG
kontrollerar inte FILESTREAM-data. FILESTREAM lagrar binära stora objekt (BLOBS) i filsystemet.
DBCC CHECKCATALOG
körs också som en del av DBCC CHECKDB.
Resultatuppsättningar
Om ingen databas har angetts returnerar DBCC CHECKCATALOG
:
DBCC execution completed. If DBCC printed error messages, contact your system administrator.
Om AdventureWorks2022
anges som databasnamn returnerar DBCC CHECKCATALOG
:
DBCC execution completed. If DBCC printed error messages, contact your system administrator.
Behörigheter
Kräver medlemskap i sysadmin fast serverroll eller db_owner fast databasroll.
Exempel
I följande exempel kontrolleras katalogintegriteten i både den aktuella databasen och i AdventureWorks2022
-databasen.
-- Check the current database.
DBCC CHECKCATALOG;
GO
-- Check the AdventureWorks database.
DBCC CHECKCATALOG (AdventureWorks2022);
GO