Table des matières
    Réparation de la base de données SQL

    Comment corriger les erreurs de cohérence de DBCC CHECKDB ?


    Table des matières

      Résumé: Ce blog vous aidera à comprendre 'comment réparer les erreurs de cohérence DBCC CHECKDB' dans la base de données SQL Server en utilisant des méthodes manuelles ou un outil professionnel de réparation SQL. Il abordera également les causes possibles des erreurs de cohérence de la base de données et vous aidera à déterminer la cause de ces erreurs.

      Lors de l’exécution de la commande DBCC CHECKDB dans SQL Server, vous pouvez rencontrer une erreur de cohérence de la base de données qui se lit comme suit :

      “Date/Heure spid53 DBCC CHECKDB (mydb) exécuté par MYDOMAIN\theuser a trouvé 15 erreurs et en a réparé 0. Temps écoulé : 0 heure 0 minute 0 seconde. L’instantané interne de la base de données a un point de séparation LSN = 00000026:0000089d:0001 et un premier LSN = 00000026:0000089c:0001.  Il s’agit d’un message d’information uniquement. Aucune action n’est requise de la part de l’utilisateur.

      Le message ci-dessus indique le nombre d’erreurs de cohérence trouvées dans la base de données SQL et combien ont été réparées.

      Solution rapide : Vous pouvez envisager d’utiliser DBCC CHECKDB avec des options de réparation pour corriger les erreurs de cohérence de la base de données. Mais n’oubliez pas que l’exécution de dbcc checkdb avec ‘REPAIR_ALLOW_DATA_LOSS’ peut entraîner une perte de données. Utilisez le logiciel Stellar Repair for MS SQL pour réparer et restaurer la base de données SQL tout en préservant l’intégrité des données. Le logiciel peut aider à réparer les fichiers MDF et NDF de SQL Server et à récupérer tous les objets de la base de données. Téléchargez la version d’essai gratuite du logiciel à partir du lien fourni ci-dessous pour vérifier son efficacité.

      Quelles sont les causes des erreurs de cohérence dans les bases de données SQL Server ?

      DBCC CHECKDB effectue des contrôles de cohérence physiques et logiques sur les pages de la base de données, les pages d’allocation, les relations d’index, etc. Si l’un de ces contrôles échoue, la commande checkdb signale des erreurs de cohérence. Si l’un de ces contrôles échoue, des erreurs de cohérence sont signalées par la commande checkdb. Plusieurs raisons peuvent amener DBCC à signaler des erreurs de cohérence, telles que des problèmes dans le système matériel ou le moteur du serveur SQL, une corruption du système de fichiers ou des pages corrompues dans la mémoire.

      Avant de tenter de résoudre le problème d’incohérence de la base de données, il est important de comprendre pourquoi les erreurs de cohérence de la base de données se sont produites.

      Comment déterminer les causes des erreurs de cohérence dans les bases de données SQL Server ?

      Pour déterminer la cause des erreurs de cohérence de la base de données, il est possible d’utiliser :

      1. Journal des événements du système Windows

      La vérification du journal des événements du système Windows permet de déterminer si le problème d’E/S est à l’origine des erreurs de cohérence de la base de données SQL Server. Il précise si la cause des erreurs est liée à un problème de pilote de disque ou de défaillance matérielle. Il existe différents ID d’événement consignés dans le journal système que vous pouvez consulter pour trouver des informations sur la résolution de la cause de l’erreur.

      Remarque : si vous pensez qu’un problème au niveau du matériel sous-jacent est à l’origine des erreurs d’incohérence de la base de données, exécutez le programme de diagnostic fourni par votre fabricant de matériel afin d’identifier les problèmes matériels potentiels.

      2. Analyse du fichier ERRORLOG du serveur SQL

      Vérifiez le journal des erreurs du serveur SQL pour voir si des erreurs, telles que des violations d’accès ou des assertions, ont été signalées. Recherchez également le message 832 dans le fichier ERRORLOG pour déterminer si les pages de la base de données dans le cache sont endommagées.

      3. Commande Chkdsk pour tester l’intégrité du système de fichiers

      Des problèmes avec le système de fichiers sont une autre raison qui peut entraîner un problème de cohérence dans SQL db. Utilisez la commande chkdskcommande  pour vérifier l’intégrité du système de fichiers.

      4. SQLIOSim pour effectuer des contrôles d’intégrité sur un système de disques

      Utilisez l’outil SQLIOSim pour vérifier l’intégrité des E/S du système de disque. Cet outil peut vous aider à découvrir d’éventuels problèmes d’intégrité des données. Consultez ce lien pour plus d’informations sur cet outil.

      Méthodes pour corriger les erreurs de cohérence DBCC CHECKDB dans la base de données SQL Server

      Remarque : si l’erreur en question est due à des problèmes de matériel ou de système de fichiers, essayez de les résoudre avant d’effectuer une restauration ou une réparation pour corriger l’erreur.

      Méthode 1 – Restaurer la base de données à partir d’une sauvegarde

      La première solution la plus recommandée pour corriger l’erreur de cohérence DBCC CHECKDB consiste à restaurer la base de données à partir d’une excellente sauvegarde connue. Toutefois, si la sauvegarde n’est pas à jour ou est corrompue, passez à la solution suivante.

      Méthode 2 – Exécuter DBCC CHECKDB avec l’option de réparation minimale

      Si la restauration à partir de la sauvegarde n’est pas possible, essayez d’exécuter la commande DBCC CHECKDB avec l’option de réparation minimale pour corriger les erreurs de cohérence.

      DBCC CHECKDB “REPAIR_ALLOW_DATA_LOSS est le niveau de réparation minimum” que vous pouvez tenter pour résoudre les erreurs. Attention cependant, l’option REPAIR_ALLOW_DATA_LOSS, comme son nom l’indique, peut entraîner une perte de données. En effet, l’option de réparation peut désallouer des données (telles que des lignes, des pages ou des séries de pages), auxquelles l’utilisateur ne peut pas accéder ou qu’il ne peut pas récupérer.

      Que pouvez-vous faire d’autre ?

      Utilisez un outil spécialisé de réparation de bases de données SQL tel que Stellar Repair for MS SQL pour réparer les erreurs de la base de données et restaurer la base de données dans un état cohérent, en conservant les données intactes. C’est la meilleure alternative à l’option DBCC CHECKDB Repair_Allow_Data_Loss qui aide à réparer les fichiers SQL db (MDF et NDF) sévèrement corrompus et à récupérer tous les objets SQL db.

      Conclusion

      Des problèmes avec le système de fichiers ou le matériel ou des pages de base de données corrompues dans la mémoire sont quelques raisons qui peuvent entraîner des erreurs de cohérence de la base de données signalées par DBCC CHECKDB. Vous pouvez consulter le journal des erreurs du système Windows ou le journal des erreurs du serveur SQL pour en savoir plus sur les causes des erreurs et déterminer si la résolution du système de fichiers ou du matériel peut résoudre les erreurs de cohérence. Si ce n’est pas le cas, vous pouvez essayer de restaurer la base de données à partir d’une sauvegarde ou d’exécuter DBCC CHECKDB avec l’option Repair_Allow_Data_Loss pour réparer la base de données. Si rien ne fonctionne, l’utilisation du logiciel Stellar Repair for MS SQL peut s’avérer utile. Le logiciel peut aider à rétablir l’accès à la base de données en quelques clics.

      Was this article helpful?

      No NO

      A propos de l'auteur

      Himanshu Shakya

      Himanshu is a Tech Enthusiast & Blogger at Stellar and having knowledge of Japanese Language. And apart from this in his spare time he likes playing Chess.

      Article similaire

      POURQUOI STELLAR® EST LE LEADER MONDIAL

      Pourquoi choisir Stellar?

      • 0M+

        Clients

      • 0+

        Années d'excellence

      • 0+

        Ingénieurs R&D

      • 0+

        Pays

      • 0+

        Témoignages

      • 0+

        Récompenses reçues