Réparation d’un fichier MDF endommagé d’une base de données SQL Server

Summary: ce blog décrit les raisons possibles de la corruption du fichier MDF de la base de données SQL Server. Il décrit également le processus manuel de réparation d'un fichier MDF de base de données SQL Server corrompu, les défis associés au processus manuel et la meilleure alternative pour surmonter ces défis.

Le MDF est le fichier de données principal de la base de données SQL Server où toutes les données sont stockées, y compris les composants tels que les index, les index XML, les vues, les tables, les déclencheurs et les procédures stockées. Il est également appelé fichier de base de données principal ou maître du serveur SQL. Chaque base de données SQL Server contient au moins un fichier MDF.

Le fichier MDF peut être décrit comme l’élément principal de gestion de la base de données SQL.

Diverses raisons entraînent la corruption de votre fichier de base de données SQL Server (.mdf). Lorsque cela se produit, la base de données devient inaccessible et peut entraîner une perte de données si le fichier n’est pas réparé à temps.

Avant d’aborder les différentes solutions de réparation d’un fichier MDF, examinons les raisons les plus courantes qui peuvent entraîner la corruption d’un fichier de base de données SQL.

Solution rapide : Si vous ne voulez pas risquer la perte de données, utilisez Stellar Repair for MS SQL pour réparer le fichier MDF corrompu et récupérer tous les objets sans endommager la base de données. Le logiciel est compatible avec MS SQL Server 2019, 2017, 2016, 2014, 2012, 2008, 2008 R2 et les versions antérieures.

Causes possibles d’endommagement du fichier MDF

Vous trouverez ci-dessous quelques raisons courantes qui peuvent entraîner la corruption d’un fichier MDF dans le serveur SQL :

Comment réparer les fichiers MDF ?

Microsoft SQL Server fournit une commande de console de base de données intégrée CHECKDB (DBCC CHECKDB) pour tester l’intégrité physique et logique des objets db en effectuant les opérations suivantes dans l’ordre :

Remarque : pour plus d’informations, reportez-vous à la description des commandes DBCC ci-dessus.

DBCC CHECKDB vérifie la cohérence des pages db et d’autres contrôles structurels. Il signale ensuite les erreurs éventuelles.

Si DBCC CHECKDB signale des erreurs de cohérence dans la base de données, essayez de remettre la base de données à partir d’une copie de sauvegarde dont la qualité est connue. Toutefois, si la copie de sauvegarde n’est pas disponible ou n’est pas la plus récente, CHECKDB propose plusieurs options de réparation pour réparer un fichier MDF endommagé dans SQL Server.

Lisez ceci : Réparer une base de données SQL avec la commande DBCC CHECKDB

Les options de réparation sont les suivantes :

DBCC CHECKDB (‘Nom-DB’, REPAIR_FAST)

DBCC CHECKDB (‘Nom-DB’, REPAIR_REBUILD)

Remarque : cette fonction (REPAIR_REBUILD) ne corrige pas les erreurs qui contiennent des données FILESTREAM.

DBCC CHECKDB (‘Nom BD’, REPAIR_ALLOW_DATA_LOSS)

Remarque : à la place de DBCC CHECKDB, utilisez l’option Repair_Allow_Data_Loss pour réparer le fichier MDF endommagé sans perte de données.

Ce qu’il faut prendre en compte lors de l’utilisation des options de réparation de DBCC CHECKDB

Lorsque vous utilisez les options de réparation DBCC CHECKDB, veillez à respecter les conditions suivantes :

  1. La première condition, et la plus importante, est que la base de données concernée soit en mode mono-utilisateur afin d’exécuter l’une des trois commandes de réparation. Si un utilisateur ne met pas la base de données en mode mono-utilisateur, le message d’erreur suivant apparaît :

“L’instruction de réparation n’est pas traitée. La base de données doit être en mode mono-utilisateur.

L’exécution de DBCC est terminée. Si DBCC a émis des messages d’erreur, contactez votre administrateur système.”

Vous pouvez configurer la base de données SQL en mode mono-utilisateur à l’aide de la commande suivante :

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

  1. Deuxièmement, vous devez utiliser la syntaxe pour exécuter correctement les commandes de réparation DBCC CHECKDB. Ce n’est qu’à cette condition que les anomalies seront corrigées et que vous obtiendrez un fichier de base de données sain.
  2. Les instructions de réparation DBCC ne sont pas valables pour les tables à mémoire optimisée. Dans de tels cas, c’est-à-dire lorsque des problèmes d’intégrité surviennent dans une table à mémoire optimisée, vous devez remettre la sauvegarde en état pour avoir accès aux données du fichier db, à condition que le fichier de sauvegarde ne soit pas corrompu.

L’outil de réparation DBCC CHECKDB a échoué ! Que faire maintenant ?

Si la fonction intégrée DBCC CHECKDB ne peut pas réparer le fichier db SQL, vous pouvez ensuite exécuter un logiciel de réparation SQL spécialisé comme Stellar Repair for MS SQL. Ce logiciel vous aidera à réparer le fichier MDF et à extraire les données qui y sont stockées sans avoir à investir beaucoup de temps et d’efforts dans l’écriture d’un code complexe.

Ce logiciel de réparation SQL permet de vérifier la présence d’entrées incorrectes dans la base de données, de corriger les schémas de bits et de livrer la base de données dans un état cohérent.

Principales caractéristiques du logiciel Stellar Repair for MS SQL

Conclusion

Lorsqu’un fichier MDF est corrompu, la seule préoccupation des administrateurs de systèmes ou de bases de données (DBA) est de s’assurer que la base de données est accessible et que toutes les données sont remises dans leur état d’origine, intact.  

Vous pouvez facilement remettre le fichier de base de données à partir de la dernière copie de sauvegarde, mais si celle-ci est indisponible ou corrompue, l’exécution de DBCC CHECKDB avec les options de réparation peut vous aider. Si aucune des options de réparation ne fonctionne pour vous ou si vous ne voulez pas risquer de perdre des données en raison de l’option REPAIR_ALLOW_Data_LOSS, l’utilisation du logiciel Stellar Repair for MS SQL est la meilleure façon de réparer un fichier MDF de base de données SQL Server corrompu. Il peut aider à réparer les fichiers de base de données (.mdf et .ndf) lorsque la réparation DBCC CHECKDB échoue.

Related Post

Exit mobile version