Comment réparer une base de données SQL Server étape par étape ?


Les fichiers de base de données SQL (.MDF et .NDF) peuvent être corrompus pour diverses raisons, telles que des attaques de virus sur le système, des problèmes logiciels, des pannes matérielles, des coupures de courant soudaines, etc. Si ces fichiers sont corrompus, il se peut que vous ne puissiez pas exécuter les requêtes associées, telles que les instructions SELECT, INSERT, UPDATE et RESTORE.

L'ouverture d'une base de données corrompue peut déclencher diverses erreurs, telles que les erreurs SQL 926, 963 ou 3624. La réparation de la base de données est essentielle pour restaurer l'accès aux données. La corruption de la base de données peut se produire dans n'importe quelle version de SQL Server que vous utilisez. Cet article vous montrera comment réparer SQL Server 2016, 2019, 2014, 2012, 2008 ou 2005.

Pourquoi est-il nécessaire de réparer la base de données SQL Server ?

Avant de poursuivre, examinons les scénarios dans lesquels la réparation de la base de données SQL Server est nécessaire.

  • Si votre base de données est marquée comme suspecte ou se trouve dans un état « en attente de récupération », vous ne pouvez pas accéder aux données.
  • Si la base de données a été corrompue en raison d'événements tels qu'une panne de serveur, une défaillance du sous-système d'E/S, des erreurs logicielles, l'intrusion d'un virus/malware, etc.
  • Si vous recevez des erreurs SQL telles que 824, 8992, 5172, etc.
  • Si vous avez un fichier journal corrompu qui rend impossible l'accès à la base de données.

Méthodes de réparation de la base de données SQL Server

Chaque administrateur de base de données ou utilisateur SQL doit disposer d'une stratégie de sauvegarde et de récupération. Si vous disposez d'un fichier de sauvegarde intact, vous pouvez facilement restaurer la base de données SQL à partir de celui-ci. Toutefois, si le fichier de sauvegarde est également corrompu ou obsolète, vous pouvez utiliser les méthodes suivantes pour réparer la base de données corrompue.  

Méthode 1 : utiliser la commande DBCC CHECKDB pour réparer la base de données SQL

La commande DBCC CHECKDB est une commande de console de base de données qui peut être utilisée pour vérifier l'intégrité de la base de données SQL Server, rechercher des problèmes et des erreurs, et réparer la base de données. Elle vérifie l'intégrité physique et logique de tous les objets de la base de données SQL, y compris les pages d'index, les tables système et d'autres structures de mappage. Si l'une de ces vérifications échoue, elle signale des erreurs de cohérence.

Vous pouvez utiliser SQL Server Management Studio (SSMS) pour exécuter la commande DBCC CHECKDB en suivant ces étapes :

Tout d'abord, exécutez la commande DBCC CHECKDB pour détecter toute corruption dans la base de données. Si vous ne pouvez pas accéder à votre base de données, modifiez son statut en « Emergency » à l'aide de la commande suivante :

ALTER DATABASE [test] SET EMERGENCY Copier le code

Ce statut active l'accès en lecture seule à la base de données. Vous pouvez désormais exécuter la commande DBCC CHECKDB sans aucun problème, comme indiqué dans l'exemple.

DBCC CHECKDB (h)Copier le code

Si des dommages sont détectés dans la base de données, l'une des options de réparation suivantes est recommandée :

  • REPAIR_FAST
  • REPAIR_REBUILD
  • REPAIR_ALLOW_DATA_LOSS.

Vous trouverez ci-dessous les instructions étape par étape pour réparer la base de données à l'aide de l'option REPAIR_ALLOW_DATA_LOSS :

  • Commencez par lancer SQL Server Management Studio (SSMS), puis connectez-vous à l'instance SQL Server.
  • Recherchez la barre d'outils et cliquez sur « Nouvelle requête ».
  • Veuillez copier les commandes suivantes et les coller telles quelles dans la fenêtre de requête qui s'affiche :

EXEC sp_resetstatus [Nom de la BASE DE DONNÉES]

ALTER DATABASE [Nom de la base de données] SET EMERGENCY

DBCC CHECKDB [Nom de la BASE DE DONNÉES]

ALTER DATABASE [Nom de la base de données] SET SINGLE_USER WITH ROLLBACK IMMEDIATE

DBCC CHECKDB ('Nom de la base de données', REPAIR_ALLOW_DATA_LOSS) WITH NO_INFOMSGS

ALTER DATABASE [nom de la base de données] SET MULTI_USER

Copier le code

  • Veuillez ensuite cliquer sur l'option « Exécuter ».
  • La réparation de la base de données commencera.

Remarque : si vous exécutez la commande avec l'option « REPAIR_ALLOW_DATA_LOSS », la base de données sera réparée et vous pourrez l'ouvrir sans erreur, mais une perte de données peut se produire.

Méthode 2 : Utilisez un logiciel de réparation SQL pour réparer la base de données

Si la commande DBCC CHECKDB ne parvient pas à réparer ou à restaurer les fichiers de base de données, vous pouvez utiliser Stellar Repair for MS SQL. Il s'agit d'un outil de réparation SQL complet qui permet de réparer et de restaurer rapidement les fichiers de base de données SQL endommagés sans perte de données. Pour utiliser cet outil, veuillez suivre les étapes suivantes :

  • Téléchargez le dernier fichier .exe de Stellar Repair for MS SQL, installez-le et lancez-le.
  • Dans la fenêtre « Sélectionner une base de données », cliquez sur « Parcourir » et sélectionnez le fichier de base de données corrompu que vous souhaitez réparer. Si vous ne connaissez pas l'emplacement du fichier de base de données, cliquez sur « Rechercher ».
1-68c7f7bb7f911_Select Database
  • Après avoir sélectionné le fichier de base de données souhaité, cliquez sur « Réparer » pour lancer le processus de réparation.
2-68c7f7cddbfc9_repair process
  • Sélectionnez un mode d'analyse approprié, tel que « Analyse standard » ou « Analyse avancée ».
3-68c7fad3a6da2_Standard Scan
  • Une fois que le message « Réparation terminée » s'affiche, cliquez sur l'option « OK ».  
4-68c7f7dfd8b48_Repair Complete
  • Sélectionnez ensuite tous les éléments ou les éléments spécifiques que vous souhaitez enregistrer et cliquez sur le bouton « Enregistrer » sous « Fichier » pour prévisualiser toutes les données réparées dans le fichier.
5-68c7f7e839036_preview all
  • Enregistrez ensuite la base de données réparée à l'aide de l'une des options suivantes :
    • Sélectionnez le format de fichier souhaité, tel que MDF/CSV/HTML/XLS, pour enregistrer le fichier réparé.
    • Vous pouvez enregistrer la base de données en tant que nouvelle base de données ou base de données active.
    • Indiquez l'emplacement où vous souhaitez enregistrer la base de données réparée.
6-68c7f7f8de8e5_desired file format
  • Après avoir effectué votre sélection, cliquez sur « Enregistrer ».
  • Une fois le processus d'enregistrement terminé, l'écran « Enregistrement terminé » s'affiche. Veuillez cliquer sur « OK ».

La base de données réparée sera enregistrée sous le même nom, mais avec le préfixe « Réparée » à l'emplacement spécifié.

Conclusion

Dans cet article, nous avons abordé les cas courants dans lesquels vous pouvez être amené à réparer des bases de données SQL. Si vous disposez d'une sauvegarde à jour, essayez de la restaurer pour récupérer les fichiers MDF/NDF endommagés. Toutefois, si la sauvegarde est corrompue ou illisible, vous pouvez exécuter DBCC CHECKDB REPAIR_ALLOW_DATA_LOSS pour réparer la base de données. Cela ne garantit toutefois pas une récupération complète des données.  Vous pouvez opter pour Stellar Repair for MS SQL comme alternative pour réparer les bases de données corrompues et les erreurs associées tout en garantissant l'intégrité complète des données.



Was this article helpful?
À propos de l'auteur
author image
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.

Table des matières

POURQUOI STELLAR® EST LE LEADER MONDIAL

Pourquoi choisir Stellar?
  • 0M+

    CLIENTS

  • 0+

    Des années d'excellence

  • 0+

    INGÉNIEURS R&D

  • 0+

    PAYS

  • 0+

    TÉMOIGNAGES

  • 0+

    RÉCOMPENSES REÇUES

×