DBCC CHECKDB REPAIR_REBUILD avec exemple

Summary: 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  SQL serveur:

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.

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.

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 SQL repair tool professionnel.

Le logiciel Stellar Repair for MS SQL peut vous 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.

Related Post

Exit mobile version