DBCC CHECKCATALOG (Transact-SQL)

 

CETTE RUBRIQUE S’APPLIQUE À :ouiSQL Server (à partir de la version 2008)nonAzure SQL DatabasenonAzure SQL Data WarehousenonParallel Data Warehouse

Vérifie la cohérence du catalogue dans la base de données spécifiée. La base de données doit être en ligne.

Topic link icon Conventions de la syntaxe Transact-SQL

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

database_name | database_id | 0
Nom ou ID de la base de données dont vous souhaitez vérifier la cohérence du catalogue. En l'absence de spécification, ou si 0 est spécifié, la base de données actuelle est utilisée. Les noms de base de données doivent respecter les règles de identificateurs.

WITH NO_INFOMSGS
Supprime tous les messages d'information.

Une fois la commande DBCC CATALOG terminée, un message est enregistré dans le journal des erreurs SQL Server. Si la commande DBCC est correctement exécutée, le message indique que l'exécution a réussi, ainsi que la durée d'exécution de la commande. Si la commande DBCC est interrompue avant la fin de la vérification en raison d’une erreur, le message indique la commande s’est terminé, une valeur d’état et la durée d’exécution de la commande. Le tableau suivant répertorie et décrit les valeurs d'état pouvant être incluses dans le message.

ÉtatDescription
0Erreur numéro 8930 générée. Ceci indique une corruption des métadonnées qui a provoqué l'arrêt de la commande DBCC.
1Erreur numéro 8967 générée. Une erreur DBCC interne s'est produite.
2Une erreur s'est produite lors de la réparation de la base de données en mode urgence.
3Ceci indique une corruption des métadonnées qui a provoqué l'arrêt de la commande DBCC.
4Une assertion ou une violation d'accès a été détectée.
5Une erreur inconnue s'est produite et a arrêté la commande DBCC.

DBCC CHECKCATALOG effectue différentes vérifications de cohérence entre les tables de métadonnées système. DBCC CHECKCATALOG utilise un instantané de base de données interne pour fournir la cohérence transactionnelle nécessaire à la réalisation de ces vérifications. Pour plus d’informations, consultez Afficher la taille du fichier partiellement alloué d’un instantané de base de données &#40 ; Transact-SQL &#41 ; et la section « DBCC interne de base de données utilisation de l’instantané » DBCC &#40 ; Transact-SQL &#41 ;.

Si un instantané ne peut pas être créé, DBCC CHECKCATALOG acquiert un verrou de base de données exclusif pour obtenir la cohérence requise. Si des incohérences sont détectées, elles ne peuvent pas être réparées et la base de données doit être restaurée à partir d'une sauvegarde.

System_CAPS_ICON_note.jpg Remarque


Exécution de DBCC CHECKCATALOG sur tempdb ne procède à aucune vérification. Effet, pour des raisons de performances, les instantanés de base de données ne sont pas disponibles sur tempdb. Cela signifie que la cohérence transactionnelle requise ne peut pas être obtenue. Recyclez le serveur pour résoudre toute tempdb problèmes liés aux métadonnées.

System_CAPS_ICON_note.jpg Remarque


DBCC CHECKCATALOG ne vérifie pas les données FILESTREAM. FILESTREAM stocke les objets BLOB dans le système de fichiers.

DBCC CHECKCATALOG est également exécuté dans le cadre de DBCC CHECKDB.

Si aucune base de données n'est spécifiée, DBCC CHECKCATALOG retourne :

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

Si AdventureWorks2012 est spécifié en tant que nom de base de données, DBCC CHECKCATALOG retourne :

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

Nécessite l’appartenance dans le sysadmin rôle de serveur fixe ou le db_owner rôle de base de données fixe.

L'exemple suivant vérifie l'intégrité du catalogue dans la base de données active et dans la base de données AdventureWorks.

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

DBCC &#40 ; Transact-SQL &#41 ;
Tables système &#40 ; Transact-SQL &#41 ;

Ajouts de la communauté

AJOUTER
Afficher: