gebeurtenis
31 mrt, 23 - 2 apr, 23
De grootste SQL-, Fabric- en Power BI-leerevenement. 31 maart – 2 april. Gebruik code FABINSIDER om $ 400 te besparen.
Zorg dat u zich vandaag nog registreertDeze browser wordt niet meer ondersteund.
Upgrade naar Microsoft Edge om te profiteren van de nieuwste functies, beveiligingsupdates en technische ondersteuning.
van toepassing op:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Hiermee wordt gecontroleerd op catalogusconsistentie binnen de opgegeven database. De database moet online zijn.
Transact-SQL syntaxisconventies
DBCC CHECKCATALOG
[
(
database_name | database_id | 0
)
]
[ WITH NO_INFOMSGS ]
De naam of id van de database waarvoor de catalogusconsistentie moet worden gecontroleerd. Als dit niet is opgegeven of als 0 is opgegeven, wordt de huidige database gebruikt. Databasenamen moeten voldoen aan de regels voor id's.
Onderdrukt alle informatieve berichten.
Nadat de opdracht DBCC CHECKCATALOG
is voltooid, wordt er een bericht naar het SQL Server-foutenlogboek geschreven. Als de DBCC-opdracht is uitgevoerd, geeft het bericht een geslaagde voltooiing aan en de hoeveelheid tijd die de opdracht heeft uitgevoerd. Als de DBCC-opdracht stopt voordat de controle wordt voltooid vanwege een fout, geeft het bericht aan dat de opdracht is beëindigd, een statuswaarde en de hoeveelheid tijd die de opdracht heeft uitgevoerd. In de volgende tabel worden de statuswaarden vermeld en beschreven die in het bericht kunnen worden opgenomen.
Staat | Beschrijving |
---|---|
0 | Foutnummer 8930 is gegenereerd. Dit geeft een beschadiging van metagegevens aan waardoor de DBCC-opdracht is beëindigd. |
1 | Foutnummer 8967 is gegenereerd. Er is een interne DBCC-fout opgetreden. |
2 | Er is een fout opgetreden tijdens het herstellen van de database in de noodmodus. |
3 | Dit geeft een beschadiging van metagegevens aan waardoor de DBCC-opdracht is beëindigd. |
4 | Er is een schending van assert of toegang gedetecteerd. |
5 | Er is een onbekende fout opgetreden die de DBCC-opdracht heeft beëindigd. |
DBCC CHECKCATALOG
voert verschillende consistentiecontroles uit tussen systeemmetagegevenstabellen.
DBCC CHECKCATALOG
maakt gebruik van een momentopname van een interne database om de transactionele consistentie te bieden die nodig is om deze controles uit te voeren. Zie voor meer informatie De grootte van het Sparse-bestand van een momentopname van een database (Transact-SQL) en het gedeelte databasemomentopname van dbcc weergeven sectie in DBCC (Transact-SQL).
Als er geen momentopname kan worden gemaakt DBCC CHECKCATALOG
een exclusieve databasevergrendeling verkrijgt om de vereiste consistentie te verkrijgen. Als er inconsistenties worden gedetecteerd, kunnen ze niet worden hersteld en moet de database worden hersteld vanuit een back-up.
Notitie
Het uitvoeren van DBCC CHECKCATALOG
op tempdb
voert geen controles uit. Dit komt omdat databasemomentopnamen om prestatieredenen niet beschikbaar zijn op tempdb
. Dit betekent dat de vereiste transactionele consistentie niet kan worden verkregen. Start de Database Engine-service opnieuw om eventuele problemen met tempdb
metagegevens op te lossen.
Notitie
DBCC CHECKCATALOG
controleert geen FILESTREAM-gegevens. FILESTREAM slaat binaire grote objecten (BLOBS) op in het bestandssysteem.
DBCC CHECKCATALOG
wordt ook uitgevoerd als onderdeel van DBCC CHECKDB-.
Als er geen database is opgegeven, retourneert DBCC CHECKCATALOG
:
DBCC execution completed. If DBCC printed error messages, contact your system administrator.
Als AdventureWorks2022
is opgegeven als databasenaam, retourneert DBCC CHECKCATALOG
:
DBCC execution completed. If DBCC printed error messages, contact your system administrator.
Vereist lidmaatschap van de sysadmin vaste serverfunctie of de db_owner vaste databaserol.
In het volgende voorbeeld wordt de catalogusintegriteit in zowel de huidige database als in de AdventureWorks2022
-database gecontroleerd.
-- Check the current database.
DBCC CHECKCATALOG;
GO
-- Check the AdventureWorks database.
DBCC CHECKCATALOG (AdventureWorks2022);
GO
gebeurtenis
31 mrt, 23 - 2 apr, 23
De grootste SQL-, Fabric- en Power BI-leerevenement. 31 maart – 2 april. Gebruik code FABINSIDER om $ 400 te besparen.
Zorg dat u zich vandaag nog registreert