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

    DBCC CHECKDB REPAIR_REBUILD avec exemple


    Table des matières

      Résumé: ce blog présente les étapes à suivre pour réparer une base de données SQL en exécutant DBCC CHECKDB avec la commande REPAIR_REBUILD. Il décrit également les raisons possibles de la corruption de la base de données et les moyens d'y remédier avant de réparer la base de données. Le blog explique comment exécuter 'DBCC CHECKDB REPAIR_REBUILD avec un exemple' via des instructions étape par étape. Il suggère également un outil de réparation SQL comme alternative aux options de réparation de DBCC CHECKDB.

      En tant qu’administrateur de base de données, vous devez exécuter la commande DBCC CHECKDB pour vérifier la cohérence physique et logique de votre base de données SQL. Ces vérifications peuvent échouer en raison d’une corruption de la base de données. Si DBCC CHECKDB signale des erreurs de cohérence, vous devez identifier la cause première de la corruption de la base de données afin de trouver la meilleure solution possible pour corriger les erreurs.

      Raisons possibles de la corruption de la base de données SQL

      Voici les raisons les plus courantes de la corruption de la base de données du serveur SQL :

      • Matériel défectueux : Vérifiez si les contrôleurs de disque, les pilotes de périphérique ou d’autres composants matériels sont défectueux. Si les erreurs de cohérence sont dues à des problèmes matériels, assurez-vous que la configuration du périphérique est conforme aux exigences d’entrée/sortie du moteur de base de données Microsoft SQL Server. Sinon, contactez votre fournisseur de matériel ou le fabricant du périphérique pour résoudre les problèmes matériels sous-jacents.
      • Bugs dans le logiciel SQL : si vous ne trouvez pas de problème avec le matériel sous-jacent, vérifiez s’il y a des bugs dans le logiciel, car Microsoft est connu pour provoquer la corruption de l’index ou la perte de données lors de l’exécution d’une reconstruction d’index en ligne dans SQL Server 2012/2014
      • Attaque d’un virus ou d’un logiciel malveillant : Les fichiers de la base de données SQL peuvent être corrompus à la suite d’une attaque de virus ou de logiciels malveillants, ce qui rend les fichiers inaccessibles.

      Si aucun problème matériel ou logiciel n’est détecté, la meilleure solution pour remédier à la corruption consiste à restaurer la base de données à partir de la sauvegarde la plus récente. S’il n’y a pas de bonne sauvegarde, vous pouvez corriger les erreurs en exécutant la commande DBCC CHECKDB avec une option de réparation nécessaire pour corriger des erreurs spécifiques. La section suivante explique comment corriger les erreurs de corruption de la base de données lorsque ‘REPAIR_REBUILD’ est recommandé comme niveau de réparation minimum pour résoudre toutes les erreurs signalées par DBCC CHECKDB.

      Comment réparer une base de données SQL corrompue en utilisant ‘DBCC CHECKDB With REPAIR_REBUILD’ ?

      La commande REPAIR_REBUILD permet de reconstruire les pages corrompues ou de réparer les lignes manquantes dans les index non groupés. Vous pouvez l’utiliser pour réparer une base de données “sans risque de perte de données”.

      Avant d’exécuter la commande ‘DBCC CHECKDB REPAIR_REBUILD’, assurez-vous de mettre la base de données en mode SINGLE_USER en exécutant la commande ci-dessous :

      ALTER DATABASE your_dbname SET SINGLE_USER

      Ceci est important car la réparation d’une base de données SQL et l’exécution d’une commande DBCC CHECKDB sont deux opérations distinctes. De plus, une base de données est en mode multi-utilisateur. Pour la réparer, vous devez la mettre en mode SINGLE_USER afin d’éviter toute erreur.

      Une fois que la base de données est configurée en mode SINGLE_USER, exécutez la commande suivante pour réparer la base de données :

      DBCC CHECKDB(‘votre_nom_de_début’, REPAIR_REBUILD)

      Une fois la base de données réparée, remettez la base de données en mode MULTI_USER :

      ALTER DATABASE your_dbname SET MULTI_USER

      DBCC CHECKDB avec REPAIR_REBUILD Exemple

      Voici un exemple qui montre un message d’erreur recommandant l’exécution de “repair_rebuild comme niveau de réparation minimum” sur la base de données VLDB.

      Repair Rebuild Minimum Repair

      Suivez les étapes suivantes pour résoudre l’erreur de table :

      Étape 1 : Ouvrez SQL Server Management Studio (SSMS) et exécutez cette commande :

      ALTER DATABASE VLDB SET SINGLE_USER WITH ROLLBACK IMMEDIATE ;

      Étape 2 : Une fois que la base de données est en mode SINGLE_USER, cliquez avec le bouton droit de la souris sur Bases de données et cliquez sur Actualiser.

      Étape 3 : Développez maintenant les bases de données en cliquant sur l’icône “+”. Vous pouvez voir que ‘VLDB’ est en mode SINGLE_USER.

      Étape 4 : Exécutez la commande DBCC CHECKDB repair rebuild suivante :

      S’il n’y a pas d’erreur, la requête s’exécutera avec succès. Si c’est le cas, mettez la base de données en mode MULTI_USER.

      Que se passe-t-il si ‘DBCC CHECKDB REPAIR_REBUILD’ échoue ?

      L’option REPAIR_REBUILD ne peut corriger que les erreurs de corruption mineures. Elle peut donc ne pas résoudre toutes les erreurs signalées par CHECKDB et entraîner une erreur recommandant “REPAIR_ALLOW_DATA_LOSS comme niveau de réparation minimum”, comme vous pouvez le voir dans l’image ci-dessous.

      REPAIR_REBUILD

      Exécutez la commande “DBCC CHECKDB with REPAIR_ALLOW_DATA_LOSS” en dernier recours pour réparer la base de données, car elle comporte un risque de perte de données. Une meilleure alternative consiste à utiliser un outil de réparation SQL professionnel.

      Téléchargement gratuit pour Windows

      Le logiciel Stellar Repair for MS SQL peut aider à réparer tous les types d’erreurs de corruption des bases de données SQL. Il répare le fichier MDF de la base de données et récupère tous les objets, vous aidant ainsi à restaurer la base de données dans sa forme originale sans perte de données. 

      Conclusion

      Si vous obtenez des erreurs de cohérence lors de l’exécution de la commande DBCC CHECKDB, l’utilisation de l’option REPAIR_REBUILD peut aider à corriger les erreurs sans perte de données. Cependant, elle peut ne pas résoudre toutes les erreurs de cohérence. Il se peut que vous deviez exécuter DBCC CHECKDB avec REPAIR_ALLOW_DATA_LOSS pour corriger la corruption de la base de données, mais n’oubliez pas que cela peut entraîner une perte de données. L’utilisation du logiciel Stellar Repair for MS SQL peut vous aider à réparer une base de données gravement corrompue et à la restaurer dans sa forme d’origine sans aucune modification.

      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.

      Leave a comment

      Your email address will not be published. Required fields are marked *

      Image Captcha
      Refresh Image Captcha

      Enter Captcha Here :

      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