Comment réparer le fichier MDF d’une base de données SQL Server ?

Summary: Les fichier MDF de base de donnée SQL peuvent être corrompus à cause des raisons diverses. Cet article explique les raisons les plus courantes de la corruption du fichier MDF et comment le réparer.. Il décrit également comment réparer le fichier MDF corrompu en utilisant un logiciel tiers avancé de réparation debase de donnée SQL.

MDF (Master Database File) est le fichier de base de données principal de MS SQL Server. Chaque base de données SQL Server contient au moins un fichier MDF. Ce fichier de données primaire contient le schéma de la base de données SQL et toutes les données, y compris les index, les vues, les tables, les déclencheurs, les procédures stockées et d’autres composants importants. Ce fichier est donc essentiel pour le stockage des données dans l’environnement MS SQL Server.

Cependant, il arrive que le fichier MDF de la base de données SQL soit corrompu ou endommagé en raison de divers facteurs internes et externes. Si le fichier MDF est corrompu, l’ensemble de la base de données SQL n’est plus disponible. Vous pouvez également recevoir divers messages d’erreur lorsque vous accédez à la base de données SQL. Dans cet article, nous allons examiner les causes de la corruption du fichier MDF et discuter de quelques méthodes efficaces pour réparer le fichier MDF dans SQL Server et récupérer les données.

Causes possibles d’endommagement du fichier MDF

Vous trouverez ci-dessous quelques raisons courantes qui peuvent endommager le fichier MDF de la base de données SQL :

Méthodes efficaces pour réparer les fichiers MDF

Voici quelques méthodes efficaces pour réparer un fichier MDF corrompu et récupérer les données.

Méthode n°1 – Remettre le fichier MDF à partir de la dernière sauvegarde

Si votre fichier MDF est corrompu, vous pouvez d’abord essayer de remettre le fichier à partir d’une sauvegarde, si elle est disponible. Avant de remettre le fichier, vérifiez l’intégrité du fichier de sauvegarde à l’aide de la commande RESTORE VERIFY ONLY (voir ci-dessous) :

RESTORE VERIFYONLY FROM DISK = ‘backup_with_checksum.bak’ (Restaurer VERIFYONLY à partir du disque = ‘backup_with_checksum.bak’)

Copier le code

Vous pouvez utiliser cette commande pour vérifier si le fichier de sauvegarde est lisible, si son format est valide, si le jeu de sauvegarde est complet et si CHECKSUM est compris.

Une fois que vous avez vérifié cela, vous pouvez exécuter la commande suivante pour remettre le fichier de sauvegarde :

RESTORE DATABASE AdventureWorks2022

FROM DISK = ‘Z:\SQLServerBackups\AdventureWorks2022.bak’ ;

RESTORE DATABASE stellardb

Copier le code

Méthode 2 – Réparez le fichier MDF avec la commande DBCC CHECKDB

Si le fichier de sauvegarde n’est pas disponible ou périmé, vous pouvez utiliser la commande de la console de base de données (DBCC CHECKDB) pour réparer le fichier MDF corrompu ou défectueux.

Remarque : Pour utiliser la commande DBCC CHECKDB, vous devez disposer de droits d’administrateur.

Exécutez d’abord la commande DBCC CHECKDB pour rechercher les erreurs d’intégrité et de corruption dans le fichier de base de données (MDF) (voir ci-dessous) :

DBCC CHECKDB Test1Copy Code

Si vous ne pouvez pas accéder au fichier, passez l’état de la base de données en mode d’urgence pour permettre à l’administrateur d’y accéder en lecture seule. Pour mettre la base de données en mode d’urgence, exécutez la commande suivante :

ALTER DATABASE Test1 SET EMERGENCYCopy Code

Exécutez ensuite à nouveau la commande DBCC CHECKDB. Si la commande DBCC CHECKDB détecte une corruption dans la base de données, elle recommande une option de réparation appropriée. Vous pouvez utiliser l’option de réparation pour réparer le fichier MDF corrompu dans SQL Server.

Avant de réparer la base de données, vous devez la mettre en mode mono-utilisateur. Pour configurer la base de données en mode mono-utilisateur, vous devez disposer de l’autorisation ALTER pour la base de données. Exécutez la commande suivante pour mettre la base de données en mode mono-utilisateur :

ALTER DATABASE Test n°1 SET SINGLE_USERCopy Code

Une fois que vous avez configuré la base de données en mode mono-utilisateur, vous pouvez réparer la base de données à l’aide des options suivantes :

Voyons comment vous pouvez utiliser ces options.

Si vous souhaitez remettre le fichier MDF rapidement, utilisez REPAIR_FAST. Il ne vérifie que la cohérence logique et conserve la syntaxe pour des raisons de compatibilité ascendante. Elle n’est d’aucune aide lors de l’exécution des opérations de réparation. La syntaxe de cette option de réparation est la suivante :

DBCC CHECKDB (‘DB Name’, REPAIR_FAST)Code de copie

Vous pouvez utiliser la commande REPAIR_REBUILD pour remettre en état des pages endommagées ou réparer des lignes manquantes dans des index non groupés. Toutefois, cette commande ne permet pas de réparer une base de données contenant des données FILESTREAM. Voici la commande de réparation de la base de données avec l’option REPAIR_REBUILD :

DBCC CHECKDB (‘DB Name’, REPAIR_REBUILD)Copie du code

Si les options de réparation ci-dessus ne permettent pas de réparer le fichier de base de données, vous devez utiliser l’option REPAIR_ALLOW_DATA_LOSS pour réparer la base de données. Toutefois, cette commande peut entraîner une perte de données. Vous ne devez donc utiliser cette option de réparation qu’en dernier recours. Voici la commande de réparation de la base de données avec l’option REPAIR_ALLOW_DATA_LOSS :

DBCC CHECKDB (‘Nom-DB’, REPAIR_ALLOW_DATA_LOSS)Code de copie

Méthode 3 – Réparez le fichier MDF avec un logiciel tiers de réparation de bases de données SQL

Si les méthodes ci-dessus ne suffisent pas à réparer le fichier MDF corrompu, la meilleure solution consiste à utiliser un logiciel de réparation de fichiers MDF de bases de données SQL de confiance comme Stellar Repair for MS SQL. Il s’agit d’un logiciel avancé pour réparer les fichiers de base de données SQL corrompus (MDF/NDF) sans perte de données. Il peut même réparer les problèmes de corruption graves dans les fichiers MDF et NDF. Il peut récupérer tous les objets du fichier MDF/NDF corrompu avec une intégrité complète. Le logiciel soutient SQL 2022, 2019, 2017, 2016 et les versions antérieures.

Voici quelques caractéristiques notables de ce logiciel :

Suivez les étapes suivantes pour réparer le fichier MDF à l’aide du logiciel :

Conclusion

En cas d’endommagement du fichier MDF, une sauvegarde permet de remettre les données en état. Cependant, si aucune sauvegarde n’est disponible, vous pouvez utiliser la commande DBCC CHECKDB pour réparer le fichier MDF dans SQL Server. Nous avons expliqué ci-dessus, étape par étape, comment utiliser la commande DBCC CHECKDB. Si la commande DBCC CHECKDB ne donne pas les résultats souhaités, utilisez le logiciel Stellar Repair for MS SQL. Il s’agit d’un logiciel de réparation professionnel qui répare les fichiers de base de données SQL corrompus (fichiers MDF et NDF) sans perte de données.

Related Post

Exit mobile version