Comment réparer une base de données SQL en utilisant la commande DBCC CHECKDB

Publié le May 28th, 2021

Résumé: La commande de console de base de données (DBCC) CHECKDB est fréquemment utilisée par de nombreux administrateurs de bases de données (DBA) SQL Server pour identifier les erreurs dans la base de données. De plus, DBCC CHECKDB propose trois options de réparation pour corriger les erreurs liées à la base de données. Cet article explique comment utiliser DBCC CHECKDB pour réparer une base de données SQL. Il traite également d’un logiciel de réparation MS SQL spécialisé que vous pouvez utiliser lorsque DBCC CHECKDB ne parvient pas à réparer la base de données.  

En tant qu’administrateurs de bases de données (DBA), nous savons tous combien il est important d’exécuter régulièrement la commande de console de base de données (DBCC) CHECKDB pour vérifier l’intégrité physique et logique des objets de la base de données, les relations d’indexation et d’autres contrôles structurels. L’échec de l’une de ces vérifications signalera les erreurs de cohérence dans le cadre de la commande de la console de base de données.

La meilleure méthode pour réparer les erreurs dans la base de données, signalées par DBCC CHECKDB, consiste à exécuter la dernière bonne sauvegarde connue, comme le recommande Microsoft. Toutefois, si la sauvegarde n’est pas disponible (ou si elle est endommagée), vous pouvez essayer d’accéder à la base de données en état d’urgence.

L’état d’urgence permet d’accéder à une base de données qui est en mode suspect. Il permet également d’exécuter les options de réparation DBCC CHECKDB pour résoudre la corruption de la base de données.

Comment utiliser DBCC CHECKDB pour réparer une base de données SQL?

Téléchargez et installez ‘SQL Server Management Studio (SSMS)’ et suivez ces étapes pour réparer la base de données SQL en utilisant DBCC CHECKDB:

REMARQUE: Dans les étapes ci-dessous, nous utiliserons le nom de la base de données comme Dbtesting. Assurez-vous de remplacer DBtesting par le nom de votre base de données.

Étape 1: Mettre la base de données en mode d’urgence

Changez l’état de la base de données en mode EMERGENCY, qui fournit un accès en lecture seule à l’administrateur. Pour mettre la base de données en mode EMERGENCY, exécutez la requête suivante dans le fichier SSMS:

ALTER DATABASE [Dbtesting] SET EMERGENCY

Étape 2: Vérifier les erreurs de corruption

Une fois que l’administrateur est en mesure d’accéder à la base de données, exécutez la commande DBCC CHECKDB suivante pour analyser les erreurs de corruption dans la base de données:

DBCC CHECKDB (Dbtesting)

Si DBCC CHECKDB détecte des erreurs dans la base de données, il recommandera des options de réparation appropriées pour résoudre le problème.

Étape 3: Configurer la base de données du serveur SQL en mode mono-utilisateur

Avant d’utiliser les options de réparation DBCC CHECKDB, mettez la base de données corrompue en mode mono-utilisateur afin d’empêcher les autres utilisateurs de modifier les données pendant le processus de réparation. Pour définir le mode de base de données SQL sur SINGLE_USER, suivre ces méthodes:

Méthode 1: Utilisation de l’interface utilisateur graphique (GUI)

  • Cliquez avec le bouton droit de la souris sur la base de données que vous souhaitez réparer, puis cliquez sur Properties.
  • Dans la fenêtre Database Properties, cliquez sur Options.
  • Cliquez sur la liste déroulante Restrict Acces sous l’onglet State, sélectionnez l’option SINGLE_USER, puis cliquez sur OK.

Méthode 2: Utilisation des commandes Transact-SQL (T-SQL)

Vous pouvez également définir la base de données en mode SINGLE_USER, en exécutant la requête T-SQL suivante dans SSMS:

ALTER DATABASE Dbtesting SET SINGLE_USER

Étape 4: Réparer la base de données

Une fois que vous avez changé le mode de la base de données en SINGLE_USER, exécutez DBCC CHECKDB avec l’option REPAIR_ALLOW_DATA_LOSS option de réparation de la base de données du serveur SQL:

REMARQUES:

  1. Outre le mode de réparation REPAIR_ALLOW_DATA_LOSS, DBCC offre également deux autres modes de réparation:
    • REPAIR_FAST: Cette option de réparation n’effectue aucune action de réparation. Elle permet de maintenir la syntaxe pour une compatibilité descendante.
    • REPAIR_REBUILD: L’option REPAIR_REBUILD permet de réparer la base de données sans aucune perte de données. Elle peut être utilisée pour réparer les lignes manquantes dans les index non groupés, et pour reconstruire un index.
  2. Si l’option de réparation REPAIR_ALLOW_DATA_LOSS permet de réparer toutes les erreurs signalées dans la base de données du serveur SQL, elle n’est pas la meilleure option pour réparer la corruption de la base de données. Cette option de réparation entraîne une perte de données. En fait, Microsoft recommande d’utiliser l’option REPAIR_ALLOW_DATA_LOSS en dernier recours lorsque vous ne pouvez pas restaurer une base de données à partir de la sauvegarde. Si vous n’avez pas de sauvegarde et que vous ne pouvez pas risquer de perdre des données, utilisez un logiciel de réparation MS SQL spécialisé pour réparer la base de données sans perte d’intégrité.
DBCC CHECKDB (N ’Dbtesting’, REPAIR_ALLOW_DATA_LOSS) WITH ALL_ERRORMSGS, NO_INFOMSGS;
GO

Étape 5: Remettre la base de données en mode MULTI_USER

Après avoir réparé la base de données avec succès, configurez la base de données en mode MULTI_USER en exécutant la commande suivante:

ALTER DATABASE Dbtesting SET MULTI_USER

Que pouvez-vous faire d’autre lorsque DBCC CHECKDB échoue?

L’exécution de la commande DBCC CHECKDB REPAIR_ALLOW_DATA_LOSS peut nécessiter la suppression de certaines pages de la base de données, ce qui entraîne une perte de données. En outre, les commandes DBCC CHECKDB peuvent échouer et renvoyer une erreur lorsqu’elles traitent des fichiers de base de données SQL gravement corrompus.

Utilisez le logiciel Stellar Repair for MS SQL pour réparer une base de données MS SQL gravement corrompue et restaurer tous ses composants, tout en maintenant l’intégrité de la base de données. Le logiciel de récupération SQL permet de rétablir l’accès à la base de données avec un minimum d’efforts manuels et de temps.

Caractéristiques principales:

  • Répare les fichiers de base de données MDF et NDF.
  • Récupère tous les composants de la base de données, y compris les tables, les clés, les index, les procédures stockées, etc.
  • Permet la récupération des enregistrements supprimés
  • Récupère les tables SQL avec la compression PAGE et ROW
  • Prise en charge de la récupération sélective des objets de la base de données
  • Prévisualisation des objets de base de données récupérables
  • Disponible pour Windows et Linux OS

Conclusion:

DBCC CHECKDB peut aider à vérifier les erreurs de cohérence et la corruption des bases de données MS SQL. Une base de données corrompue peut entraîner des temps d’arrêt inutiles et des pertes de données. Pour résoudre les erreurs liées à la base de données, restaurez la base de données à partir de la sauvegarde la plus récente.

Si la sauvegarde actuelle de la base de données n’existe pas ou si la sauvegarde elle-même est corrompue, vous pouvez utiliser l’option de réparation DBCC CHECKDB ‘REPAIR_ALLOW_DATA_LOSS’ pour réparer la base de données. Mais cette option de réparation comporte un risque de perte de données. De plus, DBCC CHECKDB peut ne pas réussir à résoudre le problème.

Utilisez le logiciel Stellar Repair for MS SQL pour réparer la base de données MS SQL et récupérer tous ses composants avec précision, en conservant la structure de la base de données et l’intégrité de ses objets.


A propos de l'auteur

Priyanka

Priyanka is a technology expert working for key technology domains that revolve around Data Recovery and related software's. She got expertise on related subjects like SQL Database, Access Database, QuickBooks, and Microsoft Excel. Loves to write on different technology and data recovery subjects on regular basis. Technology freak who always found exploring neo-tech subjects, when not writing, research is something that keeps her going in life. 

Meilleures ventes de produits

Stellar Data Recovery Professional for Windows

Stellar Data Recovery has the right Windows Recovery tool for all your data recovery Read More

Stellar Data Recovery Professional for Mac

Stellar Data Recovery for Mac program performs safe.. Read More

Stellar Photo Recovery

A comprehensive photo recovery software to restore photos, music & video files Read More

Stellar Repair for Video

Powerful video repair tool for repairing corrupt or damaged MOV and other video files Read More

Total
0
Shares
Related Posts