Partager via


MSSQLSERVER_8992

Détails

Nom du produit

SQL Server

Version du produit

10.0

Numéro de version

10.00.0000.00

ID de l'événement

8992

Source de l'événement

MSSQLSERVER

Composant

SQLEngine

Nom symbolique

DBCC3_CHECK_CATALOG

Texte du message

Contrôle du message du catalogue ERROR, niveau LEVEL, état STATE : MESSAGE.

Explication

DBCC CHECKCATALOG ou DBCC CHECKDB a trouvé une incohérence dans les tables de métadonnées système pour l'objet spécifié. En d'autres termes, il y a une incohérence entre l'ID d'objet enregistré et l'objet spécifié dans le message d'erreur.

Cette erreur peut se produire lorsqu'une ou plusieurs tables système ont été mises à jour manuellement de telle sorte qu'il existe une incohérence dans les métadonnées système. Par exemple, un utilisateur a pu supprimer manuellement un objet de la table sysobjects sans supprimer les lignes associées dans d'autres tables telles que sysindexes et syscolumns.

Cette erreur peut se produire lors de l'exécution de DBCC CHECKDB sur une base de données mise à niveau de SQL Server 2000 vers SQL Server 2005 ou version ultérieure. Dans SQL Server 2000, DBCC CHECKDB n'incluait pas la fonctionnalité DBCC CHECKCATALOG ; par conséquent, l'erreur ne peut pas être interceptée avant la mise à niveau à moins que DBCC CHECKCATALOG n'ait été spécifiquement exécuté sur la base de données dans SQL Server 2000.

Vous pouvez voir s'afficher les erreurs suivantes conjointement avec l'erreur 8992 :

Msg 3851 - Une ligne non valide (%ls) a été détectée dans la table système sys.%ls%ls.

Msg 3852 - La ligne (%ls) de sys.%ls%ls ne correspond à aucune ligne (%ls) dans sys.%ls%ls.

3853 - L'attribut (%ls) de la ligne (%ls) dans sys.%ls%ls ne correspond à aucune ligne (%ls) dans sys.%ls%ls.

3854 - L'attribut (%ls) de la ligne (%ls) dans sys.%ls%ls correspond à une ligne (%ls) dans sys.%ls%ls qui est incorrecte.

3855 - L'attribut (%ls) figure sans ligne (%ls) dans sys.%3ls%ls.

3856 - L'attribut (%ls) existe alors qu'il ne le devrait pas pour la ligne (%ls) dans sys.%ls%4ls.

3857 - L'attribut (%ls) est obligatoire mais il n'existe pas pour la ligne (%ls) dans sys.%ls%ls.

3858 - L'attribut (%ls) de la ligne (%ls) dans sys.%ls%ls a une valeur non valide.

Action de l'utilisateur

Supprimer et recréer l'objet spécifié

Si possible, supprimez et recréez l'objet spécifié. Par exemple, si l'objet est une procédure stockée ou un type défini par l'utilisateur, le fait de recréer l'objet peut résoudre le problème.

Restaurer à partir d'une sauvegarde

S'il ne s'agit pas d'un problème de matériel et si une sauvegarde saine est disponible, restaurez la base de données à partir de cette sauvegarde. Cette action est applicable uniquement si la sauvegarde ne contient pas l'erreur de métadonnées.

Exécuter DBCC CHECKDB

Non applicable. Cette erreur ne peut pas être réparée. Si vous ne pouvez pas restaurer la base de données à partir d'une sauvegarde, contactez le service clientèle et le support technique Microsoft.