1. Comprendre la corruption des fichiers MDF
Les fichiers MDF sont les bases de SQL ServerMécanisme de stockage des données. Ces composants critiques nécessitent une détection rapide et des méthodes de récupération appropriées en cas de corruption afin de minimiser les pertes de données. Découvrons les fichiers MDF et comment les réparer.
1.1 Qu'est-ce qu'un fichier MDF dans SQL Server?
MDF (Master Database File) sert de fichier de données principal dans SQL Server Il contient toutes les données utilisateur, telles que les tables, les index, les procédures stockées, les vues et autres objets de base de données. Ce fichier contient à la fois le schéma et les données réelles, ce qui en fait le fichier le plus important.ost partie importante de tout SQL Server base de données. L'extension .mdf identifie ce fichier principal, qui fonctionne avec les fichiers journaux (.ldf). Ces fichiers journaux enregistrent les informations de transaction nécessaires aux opérations de récupération.
1.2 Causes courantes de corruption des fichiers MDF
Vos fichiers MDF peuvent être corrompus pour plusieurs raisons :
- Pannes de courant ou utilisation inappropriée SQL Server arrêts
- Pannes matérielles, en particulier problèmes de sous-système de stockage
- Secteurs défectueux sur le lecteur de stockage
- Attaques de logiciels malveillants ou de virus sur des systèmes non protégés
- Erreurs du système de fichiers affectant le stockage de la base de données
- Bugs logiciels dans SQL Server lui-même
Les pannes du système pendant les opérations de base de données actives peuvent augmenter considérablement le risque de corruption, car elles peuvent arrêter des opérations d'écriture importantes.
1.3 Conseils utiles pour éviter la corruption des fichiers MDF
Voici comment vous pouvez protéger vos fichiers MDF contre la corruption :
- Créez des sauvegardes régulières et vérifiez leur intégrité automatiquement
- Utiliser CHECKSUM comme option de vérification de page pour toutes les bases de données
- Exécutez les commandes BACKUP DATABASE avec CHECKSUM
- Procurez-vous un onduleur pour éviter les coupures soudaines
- Vérifiez souvent l'espace disque pour éviter les problèmes de stockage
- Mises à jour SQL Server et le système d'exploitation avec les correctifs de sécurité
- Exécutez DBCC CHECKDB régulièrement sur toutes les bases de données
1.4 Signes courants d'un fichier MDF corrompu
Une détection rapide de fichiers MDF corrompus peut vous faire gagner un temps précieux. Voici quelques signes courants de corruption de fichiers MDF :
- Messages d'erreur lorsque vous essayez de joindre ou d'accéder à la base de données
- La base de données apparaît en mode SUSPECT ou RECOVERY_PENDING
- Erreurs d'E/S dans SQL Server journaux, en particulier les erreurs 823, 824 ou 825
- Erreurs de cohérence lors des opérations de base de données
- Problèmes de performances soudains
- SQL Server erreur 5171 ou 5172 lors de la connexion de bases de données
1.5 Utilisation de DBCC CHECKDB pour détecter la corruption
DBCC CHECKDB vous aide à détecter rapidement la corruption de la base de données :
DBCC CHECKDB (database_name) WITH NO_INFOMSGS
Cette commande exécute des vérifications complètes, notamment :
- Vérifications de l'intégrité logique et physique de tous les objets
- Tests des structures d'index et des liens de pages
- Vérification de la cohérence des allocations dans la base de données
L'exécution de cette commande chaque semaine ou chaque jour pour les systèmes critiques vous aide à détecter la corruption à un stade précoce et vous offre davantage d'options de récupération.
2. Utilisation DataNumen SQL Recovery pour réparer un fichier MDF corrompu
DataNumen SQL Recovery vous aide à réparer les fichiers MDF endommagés qui SQL ServerLes outils intégrés de ne peuvent pas gérer. Le logiciel utilise des algorithmes avancés pour obtenir les résultats souhaités.ost données possibles à partir de fichiers corrompus et vous offre de nombreuses options de récupération.
2.1 Réparer un seul fichier
Le processus de réparation d'un seul fichier est simple et facile à suivre :
- Fermez tous les programmes susceptibles de modifier le fichier MDF.
- Start DataNumen SQL Recovery.
- Sélectionnez le fichier MDF endommagé en tapant son nom ou en cliquant sur le bouton Parcourir.
- Incluez tous les fichiers NDF associés si vous en avez besoin.
- Choisissez le format de la base de données source ou laissez le système le détecter :
- Choisissez où vous souhaitez enregistrer le fichier récupéré.
- Cliquez sur le "Start Recovery”, le logiciel se connectera à votre SQL Server instance avec le nom de votre serveur et vos informations de connexion.
- Ensuite, le logiciel réparera votre fichier avec ses algorithmes de récupération avancés.
Une barre de progression s'affichera pour vous indiquer l'avancement de la réparation. Une fois la réparation terminée, vous pourrez consulter votre base de données récupérée dans SQL Server Atelier de gestion.
2.2 Réparer un lot de fichiers
Les entreprises disposant de plusieurs bases de données corrompues gagneront du temps grâce à la réparation par lots. Vous pouvez ajouter tous vos fichiers MDF endommagés à une file d'attente, définir vos préférences de sortie et…tart la récupération. Cette fonctionnalité est idéale dans les environnements professionnels nécessitant la résolution de problèmes de base de données systémique.
Etapes détaillées:
- Accédez à l’onglet « Récupération par lots ».
- Cliquez sur « Ajouter des fichiers » pour ajouter plusieurs fichiers. SQL Server Fichiers MDF à réparer.
- Vous pouvez également cliquer sur « Rechercher des fichiers » pour trouver les fichiers à réparer sur l’ordinateur local.
- Cliquez sur le "StarBouton « Récupération »
- Tous les fichiers PST de la liste seront réparés un par un.
2.3 Récupérer à partir du disque dur, d'une image disque ou de fichiers de sauvegarde
DataNumen SQL Recovery Plus qu'une récupération standard, elle peut récupérer des données SQL depuis :
- Fichiers de disque de machine virtuelle VMWare VMDK
- Fichiers VHD de Virtual PC
- Fichiers d'image ISO
- Fichiers de sauvegarde Windows NT (.bkf)
- Fichiers Acronis True Image (.tib)
- Norton Ghost fichiers (.gho, .v2i)
Cette flexibilité est un excellent moyen de récupérer vos données dans divers scénarios, tels que :
- Vous supprimez la base de données dans SQL Server.
- Vous formatez le disque dur.
- Panne de disque dur.
- Le disque virtuel dans VMWare ou Virtual PC est corrompu ou endommagé et vous y stockez une base de données.
- Le fichier de sauvegarde sur le support de sauvegarde est corrompu ou endommagé et vous ne pouvez pas restaurer le fichier de base de données à partir de celui-ci.
- Le fichier image disque est corrompu ou endommagé et vous ne pouvez pas récupérer votre fichier MDF à partir de celui-ci.
Dans les cas ci-dessus, vous pourrez peut-être encore récupérer SQL Server données du disque dur, de l'image disque ou des fichiers de sauvegarde directement.
Si vous disposez de l'image disque ou des fichiers de sauvegarde, vous pouvez procéder comme suit :
- Cliquez sur le bouton « … » pour sélectionner le fichier source.
- Dans la boîte de dialogue « Ouvrir un fichier », sélectionnez « Tous les fichiers (*.*) » comme filtre.
- Sélectionnez l’image disque ou le fichier de sauvegarde comme fichier source à réparer.
- Définissez le nom du fichier de base de données fixe de sortie, tel que E_Drive_fixed.mdf.
Si vous souhaitez récupérer directement à partir d'un disque dur, vous pouvez utiliser DataNumen Disk Image pour créer un fichier image disque du disque dur comme fichier source dans DataNumen SQL Recovery:
- Sélectionnez le disque dur ou le disque.
- Définissez le nom du fichier image de sortie.
- Cliquez sur "StarCliquez sur le bouton « Clonage » pour créer le fichier image disque à partir du disque dur/disque.
2.4 Récupérer après un ransomware ou un virus
Les méthodes standard ne parviennent généralement pas à réparer les bases de données cryptées par des logiciels malveillants. DataNumen SQL Recovery Exploite des algorithmes spéciaux pour récupérer des données à partir de fichiers MDF chiffrés par un rançongiciel sans payer les attaquants. Le logiciel peut récupérer des fichiers même après que le chiffrement a endommagé leurs en-têtes ou leurs structures internes.
2.5 Réparer un fichier récupéré
Si les fichiers MDF sont récupérés par DataNumen Data Recovery (ou d'autres outils de récupération de données) ne peuvent pas être connectés SQL Server, ces fichiers peuvent encore être corrompus. Dans ce cas, utilisez DataNumen SQL Recovery pour les réparer à nouveau, pour garantir que leurs données soient accessibles dans SQL Server.
2.6 Récupérer depuis tempdb.mdf
Lorsque SQL Server tourne, il mémorisera tout le temporary données, y compris tous les temporary tables et procédures de magasin, dans un temporary base de données appelée tempdb.mdf. En cas de catastrophe de données, si vous ne pouvez pas récupérer les données souhaitées à partir des fichiers mdf existants et des fichiers ndf associés, vous pouvez toujours récupérer vos données à partir de tempdb.mdf, en utilisant DataNumen SQL Recovery, comme suit :
- Arrêter SQL Server Service de moteur de données.
- Utilisation de la fonction de recherche de Windows pour rechercher le fichier tempdb.mdf sur l'ordinateur où SQL Server instance est installée.
- Après avoir trouvé le fichier tempdb.mdf, vous pouvez le sélectionner comme fichier source à récupérer et l'utiliser DataNumen SQL Recovery pour le récupérer.
3. Méthodes manuelles pour réparer un fichier MDF
SQL ServerLes méthodes natives de offrent des alternatives gratuites pour réparer les fichiers MDF corrompus. Ces approches manuelles peuvent sauver des bases de données inaccessibles, mais elles nécessitent une exécution minutieuse.
3.1 Restaurer à partir d'une sauvegarde récente
Le most méthode de récupération fiable starts avec restauration à partir d'une sauvegarde récente. Cette approche contourne la corruption en rétablissant un état sain. Vous pouvez utiliser la commande RESTORE DATABASE avec les paramètres FROM DISK appropriés pour restaurer votre base de données à son état antérieur à la corruption. L'intégrité de vos données est préservée sans compromettre les relations entre les objets de la base de données.
3.2 Utiliser DBCC CHECKDB avec les options REPAIR
DBCC CHECKDB vous offre des capacités de réparation intégrées si la restauration de sauvegarde n'est pas une option :
DBCC CHECKDB (database_name, REPAIR_ALLOW_DATA_LOSS)
WITH ALL_ERRORMSGS, NO_INFOMSGS;
La commande dispose de trois niveaux de réparation :
- REPAIR_FAST : conserve la syntaxe uniquement pour la compatibilité descendante ; n'effectue aucune réparation
- REPAIR_REBUILD : Effectue des réparations sans perte de données
- REPAIR_ALLOW_DATA_LOSS : corrige toutes les erreurs signalées, mais peut sacrifier certaines données
3.3 Risques liés à l'utilisation de REPAIR_ALLOW_DATA_LOSS
Les options de réparation comportent des risques. REPAIR_ALLOW_DATA_LOSS peut supprimer complètement les pages corrompues, entraînant une perte de données définitive. De plus, cette méthode ignore les contraintes de clés étrangères, ce qui peut compromettre l'intégrité relationnelle entre les tables. Ainsi,
- Avant la réparation, vous devez sauvegarder manuellement votre fichier MDF corrompu.
- Après la réparation, vous devez vérifier les contraintes à l’aide de DBCC CHECKCONSTRAINTS pour trouver les failles de logique métier.
3.4 Utiliser DBCC CHECKTABLE
DBCC CHECKTABLE vous donne un tarapproche geted pour la corruption dans des tables spécifiques :
DBCC CHECKTABLE (table_name, REPAIR_ALLOW_DATA_LOSS);
Cette commande examine une seule table plutôt que l'ensemble de la base de données. Son exécution est plus rapide et les risques sont moindres une fois que vous identifiez les tables présentant des problèmes.
3.5 Définir la base de données en mode URGENCE et UTILISATEUR_UNIQUE
Les bases de données gravement corrompues peuvent nécessiter le mode URGENCE en dernier recours :
ALTER DATABASE [DatabaseName] SET EMERGENCY;
ALTER DATABASE [DatabaseName] SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
DBCC CHECKDB ([DatabaseName], REPAIR_ALLOW_DATA_LOSS);
Les administrateurs de base de données bénéficient d'un accès en lecture seule via le mode d'urgence en cas d'échec de l'accès normal. Ce processus reconstruit le journal des transactions, mais la cohérence transactionnelle est perdue et la chaîne de restauration est interrompue. Sauvegardez vos fichiers de base de données avant de tenter une réparation d'urgence afin de conserver vos options de récupération.
3.6 Méthode « Hack Attach »
Si vous ne pouvez pas joindre un fichier MDF endommagé dans SQL Server, vous pouvez essayer la méthode « hack attach » :
- Créez une base de données factice portant le même nom que votre base de données endommagée
- Mettre la base de données fictive hors ligne
- Supprimer les fichiers de base de données factices
- Copiez votre fichier MDF endommagé vers l'emplacement du fichier factice
- Mettre la base de données en ligne
Cette méthode ne résoudra pas la corruption mais aidera SQL Server reconnaître le fichier et activer les commandes de réparation.
3.7 Réparer une base de données principale corrompue
La corruption de la base de données principale nécessite les étapes suivantes :
- Copiez le fichier master.mdf corrompu en tant que base de données utilisateur sur un autre serveur.
- Utilisez DataNumen SQL Recovery ou l' méthodes manuelles ci-dessus pour récupérer des objets.
- Exporter les objets récupérés dans un script.
- Reconstruire la base de données principale
sur le serveur d'origine.
- Exécutez le script généré à l’étape 3 pour recréer les utilisateurs et les objets.
4. Corriger les erreurs de disque causant la corruption des fichiers MDF
SQL Server Le stockage et la récupération des données dépendent fortement du disque et du système de fichiers. Les erreurs de disque ou de système de fichiers entraînent donc souvent une corruption des fichiers MDF. SQL Server Les outils ne peuvent pas résoudre ces problèmes seuls. Vous devez corriger ces problèmes avant d'utiliser méthodes de réparation manuelle in SQL ServerVous trouverez ci-dessous quelques outils qui effectuent cette tâche.
4.1 CHKDSK
CHKDSK (Check Disk) est un utilitaire Windows essentiel qui détecte et répare les erreurs du système de fichiers susceptibles de corrompre vos fichiers MDF. Cet outil en ligne de commande accède aux disques pour trouver les secteurs défectueux.ost clusters, fichiers liés entre eux et erreurs de répertoire qui pourraient avoir un impact SQL Server fichiers de base de données.
Vous pouvez exécuter CHKDSK sur le lecteur contenant votre fichier MDF corrompu. Des informations plus détaillées sont disponibles sur Site officiel de Microsoft .
De nombreux fichiers MDF auparavant inaccessibles redeviennent accessibles après l'exécution de CHKDSK. Ce processus prévient également toute corruption future en corrigeant la cause première au niveau du disque.
Les administrateurs de base de données doivent exécuter CHKDSK avant d'essayer d'autres méthodes de réparation si leur SQL Server Les bases de données affichent des erreurs d'E/S (comme l'erreur 15105). Cette approche améliore considérablement les chances de récupération.
4.2 Diagnostic du disqueostOutils IC
Dans les versions modernes de Windows, CHKDSK inclut désormais la fonctionnalité d'analyse et de diagnostic des disques. Cependant, certains administrateurs de bases de données préfèrent utiliser un diagnostic de disque dédié.ostOutils ic pour obtenir de meilleurs résultats et une vue d'ensemble de l'état du disque. De plus, ces outils fournissent des rapports plus détaillés que CHKDSK.
Voici comment analyser votre disque :
- Utiliser le disque de diagnostic fourni par le fabricantostoutils ic
- Exécutez des tests d'analyse de surface pour identifier et marquer les secteurs défectueux
- Exécutez des routines de correction d'erreurs spécifiques à votre matériel de stockage
Vous trouverez ci-dessous une liste des diagnostics de disque.ostoutils électroniques des principaux fabricants :
Outil | Disque | Détection d'erreur | Fix Auto |
---|---|---|---|
SeaTools | Disques durs/SSD Seagate | ✅ | ⚠️ (limité) |
Tableau de bord WD | SSD WD | ✅ | ⚠️ |
Data Lifeguard | Disques durs WD | ✅ | ⚠️ |
Samsung Magicien | SSD Samsung | ✅ | ⚠️ |
Outil Intel MAS | SSD Intel | ✅ | ⚠️ |
Cadre crucial | SSD Crucial (Micron) | ✅ | ⚠️ |
Gérant de Kingston | SSD Kingston | ✅ | ⚠️ |
Tableau de bord SanDisk | SSD SanDisk | ✅ | ⚠️ |
Légende:
✅ = Pris en charge
⚠️ = Correction automatique limitée, mostuniquement via un remappage de secteur ou des routines internes du micrologiciel
Les systèmes de stockage d'entreprise nécessitent une attention particulière. Au-delà des simples vérifications de disque, il est important d'examiner les contrôleurs de disque, les lignes de communication et l'ensemble du sous-système de disque. Tout problème dans cette chaîne peut corrompre votre base de données.
La résolution des problèmes au niveau du disque donne d'abord SQL ServerLes méthodes de réparation offrent de meilleures chances de réussite. Cette approche systématique permet souvent de résoudre les problèmes de corruption sans recourir à des outils tiers.
5. Services de récupération en ligne
Les services en ligne vous offrent une autre façon de réparer vos bases de données SQL lorsque le téléchargement et l'installation d'un logiciel de récupération sont impossibles ou difficiles. Ces services en ligne permettent de réparer les fichiers MDF corrompus sans nécessiter de connaissances techniques approfondies.
5.1 Procédures de récupération simples
Les services de récupération SQL en ligne suivent un processus simple à utiliser :
- Télécharger le fichier corrompu – Votre fichier MDF endommagé est transféré en toute sécurité vers le serveur du fournisseur de services via une connexion cryptée
- Traitement et analyse – Le service analyse votre fichier avec des algorithmes spécialisés et identifie les données récupérables
- Aperçu des résultats de récupération – Vous pouvez prévisualiser les objets de base de données récupérables avant de procéder à une récupération complète
- Télécharger le fichier réparé – Le fichier de base de données réparé ou les scripts SQL deviennent disponibles après le traitement
Ces services cloud fonctionnent avec SQL Server Fichiers de base de données tels que .mdf, .ndf et .ldf. La taille du fichier et le degré de corruption déterminent le temps de traitement, qui varie de quelques secondes à quelques minutes.
5.2 avantages et inconvénients
Avantages de la récupération en ligne :
- Vous n'avez pas besoin d'installer de logiciel - parfait pour les environnements restreints ou les utilisateurs sans droits d'administrateur
- Fonctionne sur n'importe quel système d'exploitation, y compris macOS et Linux
- Prêt à l'emploi sans télécharger de gros logiciels
- L'interface conviviale convient aux personnes ayant des compétences techniques de base
- Vous pouvez voir les données récupérables avant d'acheter
Limites à prendre en compte :
- Le téléchargement d'informations sensibles de bases de données sur des serveurs tiers soulève des problèmes de confidentialité
- La taille maximale de la base de données est soumise à des restrictions
- Moins d'options de personnalisation que les outils hors ligne
- La vitesse de récupération dépend des performances et de la charge du serveur
- Les versions de démonstration ne montrent que certaines données récupérables jusqu'à l'achat
Les outils de récupération hors ligne vous offrent plus de contrôle et de confidentialité, mais nécessitent une expertise technique plus poussée.ost Les services en ligne vous permettent de tester leur efficacité grâce à des démonstrations gratuites. Ces démonstrations récupèrent des exemples de données et marquent les éléments récupérables avec des espaces réservés.
Le meilleur choix entre la récupération en ligne et hors ligne dépend de vos besoins. Les contraintes de temps, les compétences techniques, la sensibilité des données et le type de corruption du fichier MDF jouent tous un rôle important dans cette décision.
6. Après réparation : validez et sécurisez votre base de données
Réparer votre fichier MDF corrompu ne résout que la moitié du problème. Votre base de données doit être vérifiée et sécurisée après une récupération réussie afin de préserver son intégrité et d'éviter de futurs problèmes.
6.1 Vérifier l'intégrité des données récupérées
Un contrôle de validation détaillé garantit que toutes les données restent intactes après réparation. La commande DBCC CHECKDB avec DATA_PURITY recherche les valeurs non valides :
DBCC CHECKDB (database_name) WITH DATA_PURITY, NO_INFOMSGS;
Cette commande détecte les valeurs de colonne potentiellement invalides ou hors limites pour leurs types de données. N'oubliez pas que vous devez corriger manuellement les erreurs détectées, car les options de réparation ne peuvent pas les corriger automatiquement.
DBCC CHECKCONSTRAINTS permet de vérifier que la logique métier reste intacte car les opérations de réparation ne vérifient ni ne maintiennent les contraintes de clé étrangère.
6.2 Reconstruire les index et les contraintes
L'optimisation des performances devient l'étape suivante une fois l'intégrité des données vérifiée. Les opérations de réparation laissent souvent les index fragmentés, ce qui nécessite une intervention rapide :
ALTER INDEX ALL ON table_name REBUILD;
L'équipe principale doit d'abord reconstruire les index spécifiques à forte utilisation afin de restaurer rapidement les performances des systèmes critiques. Cela crée de nouveaux index, correctement gérés.ostindex édités qui boost temps de réponse aux requêtes.
6.3 Sauvegarder la base de données réparée
Créez immédiatement une sauvegarde complète de votre base de données nouvellement réparée :
BACKUP DATABASE database_name
TO DISK = 'path\backup_file.bak'
WITH CHECKSUM, FORMAT;
L'option CHECKSUM vérifie l'intégrité de la sauvegarde pendant l'opération. Testez ensuite la sauvegarde sur un serveur de test pour vous assurer de son bon fonctionnement avant de l'utiliser pour une restauration en production.
6.4 Configurer la surveillance et les alertes
La surveillance proactive permet de détecter les problèmes potentiels avant qu'ils n'altèrent les données. Configurez des alertes pour des indicateurs clés, notamment :
- Pourcentage du processeur (seuil : 90 %)
- Pourcentage d'espace de données utilisé (seuil : 95 %)
- Utilisation des travailleurs (seuil : 60 %)
- Blocages (toutes occurrences)
- Erreurs système lors des tentatives de connexion
Azure Monitor ou SQL Server Management Studio peut configurer ces alertes. Les alertes avec état restent déclenchées jusqu'à leur résolution, ce qui évite les hordes de notifications en cas de problème persistant.
Des contrôles d'intégrité hebdomadaires à l'aide de DBCC CHECKDB doivent être exécutés sur les bases de données critiques pour détecter les problèmes à un stade précoce.
7. FAQ
La corruption des bases de données suscite de nombreuses questions chez les utilisateurs. Examinons quelques questions fréquentes concernant la réparation des fichiers MDF dans SQL Server.
7.1 Puis-je récupérer le fichier MDF sans le fichier LDF ?
Réponse : Oui, avec des outils professionnels tels que DataNumen SQL Recovery, vous pouvez récupérer le fichier MDF sans le fichier LDF.
7.2 Dois-je utiliser des outils de réparation tiers ou des méthodes intégrées ?
Réponse : Les méthodes intégrées méritent d'être essayées en premier, car elles bénéficient d'un support officiel. Néanmoins, des outils tiers peuvent récupérer davantage de données en cas de corruption grave. Le meilleur choix dépend des facteurs suivants :
- Criticité des données
- Disponibilité de sauvegarde
- Délais
- Contraintes budgétaires
- Tolérance au risque de perte de données
8. Conclusion
SQL Server La corruption des bases de données nécessite une détection rapide et des méthodes de récupération appropriées pour minimiser les pertes de données. Les signes de corruption des fichiers MDF vous aident à réagir rapidement en cas de problème. Vous disposez de plusieurs options de récupération, notamment intégrées. SQL Server des outils aux solutions tierces spécialisées comme le DataNumen SQL Recovery outil. Vous trouverez ci-dessous un résumé de cet article :
Mieux vaut prévenir que guérir. Une maintenance régulière des bases de données, des procédures de sauvegarde appropriées et une surveillance de l'état des disques réduisent considérablement les risques de corruption. Le système doit également vérifier l'intégrité des bases de données récupérées grâce à des contrôles d'intégrité et à la reconstruction des index afin de préserver la fiabilité des données après réparation.