Comment restaurer les fichiers de base de données Microsoft SQL Server 2022 (MDF, LDF et BAK)

Dans cet article, nous examinerons comment récupérer des fichiers de base de données Microsoft SQL Server 2022. Nous montrerons quoi faire si une base de données ou ses fichiers sont supprimés par erreur, ainsi que comment utiliser une sauvegarde disponible pour rétablir la base de données dans un état fonctionnel.

Comment restaurer les fichiers de base de données Microsoft SQL Server 2022 (MDF, LDF et BAK)

Pour récupérer les fichiers, nous utiliserons Hetman RAID Recovery. Le programme peut localiser les fichiers MDF, LDF et BAK sur des disques physiques, des baies RAID et des disques dynamiques, et fonctionne également avec des images de disque secteur par secteur. Les fichiers récupérés peuvent ensuite être utilisés pour Restore ou Attach au moyen de Microsoft SQL Server.

Hetman RAID Recovery prend en charge Windows, Linux et macOS.

Pour récupérer les données de matrices RAID défaillantes, de périphériques NAS et d’autres systèmes de stockage multidisques.
Visualisation
Comment récupérer une base de données SQL Server 2022 supprimée (MDF, LDF, BAK)

Comment récupérer une base de données SQL Server 2022 supprimée (MDF, LDF, BAK)

Fonctionnalités de SQL Server

Quels fichiers Microsoft SQL Server utilise et pourquoi ils sont importants lors de la récupération :

  • MDF – le fichier principal de la base de données. Il contient la structure de la base de données, les tables, les enregistrements, les index et d’autres objets. Ce fichier constitue la principale source de données lorsqu’il faut rétablir une base de données supprimée dans SQL Server.
  • LDF – le fichier journal des transactions. SQL Server y enregistre les modifications de la base de données. Le journal est utilisé pour maintenir la cohérence des données et constitue un composant important lors de l’attachement d’une base de données à partir de ses fichiers physiques.
  • BAK – le fichier de sauvegarde. Dans notre test, il s’agit d’une sauvegarde complète de la base de données créée par SQL Server. Si un tel fichier est disponible et n’est pas endommagé, il peut être utilisé pour Restore sans avoir à attacher les fichiers MDF et LDF d’origine.

Par conséquent, le scénario de récupération dépend des fichiers qui ont été conservés ou retrouvés :

  • Si un fichier BAK est disponible, la base de données est restaurée à partir de la sauvegarde.
  • S’il n’y a pas de sauvegarde, mais que les fichiers MDF et LDF ont été récupérés, ils peuvent être utilisés pour Attach, à condition que les fichiers restent lisibles et cohérents.
Fonctionnalité Description
Modèle de données relationnel SQL Server stocke les informations dans des tables reliées entre elles par des clés et des contraintes.
Langage de requête T-SQL Une extension de SQL utilisée pour créer des requêtes, gérer des données, écrire des procédures et effectuer des opérations administratives.
Fichiers de base de données MDF et NDF MDF est le fichier principal de données de la base de données, et NDF est un fichier de données supplémentaire. Ils contiennent les tables, index et autres objets de la base de données.
Fichier journal des transactions LDF Stocke les enregistrements des transactions et des modifications dans la base de données. Le journal est utilisé pour la récupération après incident et la cohérence des données.
Sauvegarde et restauration SQL Server prend en charge les sauvegardes complètes, différentielles et des journaux de transactions, ce qui permet de restaurer une base de données à un point donné dans le temps avec la configuration appropriée.
Transactions et ACID Garantissent l’atomicité, la cohérence, l’isolation et la durabilité des opérations sur les données.
Index Accélèrent les recherches et l’exécution des requêtes, mais peuvent être endommagés ou nécessiter une reconstruction après certaines défaillances.
Mécanismes de contrôle d’intégrité Les clés primaires et étrangères, les contraintes et les vérifications aident à maintenir l’exactitude des données.
Modèles de récupération Les modèles de récupération Simple, Complet et Journalisé en bloc déterminent les capacités de sauvegarde du journal des transactions et les options de récupération de la base de données.
Outils de diagnostic La commande DBCC CHECKDB vérifie l’intégrité logique et physique d’une base de données et aide à identifier les corruptions.

Pour les tests, nous avons préparé Windows Server 2022 avec Microsoft SQL Server 2022. La base de données TestDB est située sur un volume réparti dynamique avec le système de fichiers NTFS. Elle contient des tables, des enregistrements clients de test et des fichiers stockés dans le champ VARBINARY(MAX). Le fichier MDF est stocké dans le répertoire SQLData, le fichier journal LDF se trouve dans SQLLogs, et la sauvegarde complète TestDB_Full.bak se trouve dans le répertoire SQLBackup.

Comment accéder aux disques du serveur

MÉTHODE 1. Connexion des lecteurs à un poste de travail

Si les fichiers SQL Server sont stockés sur un disque physique distinct, celui-ci peut être connecté à un poste de travail via un adaptateur SATA, un adaptateur USB ou une station d’accueil.

Si la base de données était stockée sur un volume réparti dynamique ou sur une autre configuration multidiques, il est préférable d’avoir accès à tous les disques qui en faisaient partie.

Si la connexion simultanée de tous les disques n’est pas possible, vous pouvez créer des images secteur par secteur de ceux-ci. Pour ce faire, dans Hetman RAID Recovery, sélectionnez le disque physique, lancez Enregistrer le disque, spécifiez l’emplacement d’enregistrement et attendez la fin du processus de copie.

Hetman RAID Recovery: création d’une image de disque physique

Ensuite, le disque peut être déconnecté et une image du disque suivant peut être créée de la même manière. Montez les images prêtes à l’emploi via Monter le disque et utilisez-les pour l’analyse conjointement avec les disques physiques.

Hetman RAID Recovery: montage d’une image de disque physique

Cette approche permet également de continuer à travailler avec des copies sans imposer de charge supplémentaire aux disques sources.

Hetman RAID Recovery: image de disque physique montée

MÉTHODE 2. Configuration de l’accès SSH

Il existe une autre méthode pour accéder aux disques sans les retirer physiquement. Si Windows Server 2022 est toujours en cours d’exécution et accessible via le réseau, les disques peuvent être connectés à Hetman RAID Recovery à distance via SSH.

Pour ce faire, configurez au préalable OpenSSH Server sur Windows Server.

Windows Server 2022: installation d’OpenSSH Server

Démarrez le service OpenSSH SSH Server — sshd — et, si nécessaire, configurez son démarrage automatique.

Windows Server 2022: démarrage du service OpenSSH SSH Server
Windows Server 2022: activation du démarrage automatique d’OpenSSH SSH Server

Vérifiez également l’accès via le port TCP 22 et assurez-vous que le compte utilisé pour la connexion dispose des autorisations nécessaires pour accéder aux disques du serveur.

Après avoir configuré le serveur, ouvrez Hetman RAID Recovery. Dans le menu supérieur, allez dans Outils et sélectionnez Connecter via SSH.

Hetman RAID Recovery: Outils - Connecter via SSH

Dans le champ Serveur distant, saisissez l’adresse IP du serveur Windows, et dans le champ Port, saisissez 22. En dessous, dans la section Identifiants, sélectionnez la méthode d’authentification requise et saisissez le nom d’utilisateur et le mot de passe du compte. Si nécessaire, vous pouvez activer Enregistrer les détails du serveur et Enregistrer les données d’authentification afin de ne pas avoir à ressaisir ces paramètres. Cliquez ensuite sur Suivant.

Hetman RAID Recovery: connexion au serveur distant

Après une connexion réussie au serveur, la fenêtre suivante affichera les disques physiques et les baies logiques disponibles. Sélectionnez les disques appartenant au JBOD requis et poursuivez.

Hetman RAID Recovery: connexion au serveur distant

Après confirmation, ils apparaîtront dans la fenêtre principale de Hetman RAID Recovery, où ils pourront être traités de la même manière que les disques connectés localement.

Faites attention à l’équipement réseau. Comme les opérations sur les disques sont effectuées via le réseau, pour une connexion stable et confortable, il est préférable que le poste de travail, Windows Server et le réseau local prennent en charge des vitesses de transfert de données de 1 Gbit/s et plus. Cela aidera à accélérer l’analyse des disques et le transfert des fichiers récupérés.

Cette méthode est particulièrement pratique si le serveur fonctionne encore et qu’il est déconseillé ou difficile de retirer physiquement un grand nombre de disques pour les connecter à un autre ordinateur.

Comment récupérer une base de données SQL Server 2022 supprimée

MÉTHODE 1. Restauration d’une base de données à partir d’un fichier BAK

Passons au premier scénario. Dans ce cas, le fichier de sauvegarde complet TestDB_Full.bak est disponible après la récupération et peut être utilisé pour restaurer la base de données.

Ouvrez Microsoft SQL Server Management Studio et connectez-vous à l’instance SQL Server requise.

Windows Server 2022: connexion à l’instance SQL Server requise

Dans l’arborescence Explorateur d’objets, ouvrez le menu contextuel de Bases de données et sélectionnez Restaurer la base de données.

Windows Server 2022: Bases de données - Restaurer la base de données

Comme source, sélectionnez Périphérique, indiquez le fichier TestDB_Full.bak et vérifiez que SQL Server a correctement identifié la sauvegarde.

Windows Server 2022: Périphérique - TestDB_Full.bak

Pour éviter de modifier la base de données TestDB d’origine, restaurez-la sous un nom distinct, TestDB_Restored.

Windows Server 2022: renommage de la base de données en TestDB_Restored

Dans les paramètres de restauration, spécifiez des noms et des chemins distincts pour les fichiers physiques de la base de données afin qu’ils n’entrent pas en conflit avec les fichiers de la base TestDB d’origine. Pour la nouvelle instance, utilisez TestDB_Restored.mdf et TestDB_Restored_log.ldf.

Windows Server 2022: TestDB_Restored.mdf et TestDB_Restored_log.ldf

Lancez Restore et attendez la fin de l’opération. Après une restauration réussie, la base de données TestDB_Restored apparaît dans Explorateur d’objets.

Windows Server 2022: Explorateur d’objets - TestDB_Restored

Ouvrez-la et vérifiez les tables et les enregistrements. Assurez-vous également que les données stockées dans le champ VARBINARY(MAX) sont disponibles. Ainsi, nous vérifions non seulement la création de la base de données, mais aussi la disponibilité de son contenu après la restauration à partir du fichier BAK.

Windows Server 2022: vérification des tables et des enregistrements dans TestDB_Restored

MÉTHODE 2. Restauration d’une base de données supprimée

Dans le cas suivant, la base de données TestDB_Restored a été supprimée par erreur et n’est plus affichée dans Microsoft SQL Server Management Studio. Ses fichiers physiques TestDB_Restored.mdf et TestDB_Restored_log.ldf sont également devenus indisponibles.

Le volume réparti dynamique lui-même reste accessible, il n’est donc pas nécessaire de reconstruire à nouveau le JBOD.

Windows Server 2022: TestDB_Restored n’est pas affichée dans Microsoft SQL Server

Ouvrez Hetman RAID Recovery, sélectionnez le volume logique NTFS où se trouvaient les fichiers SQL Server, puis lancez une Analyse rapide.

Hetman RAID Recovery: analyse rapide

Une fois l’analyse terminée, accédez aux répertoires où étaient stockés les fichiers MDF et LDF, puis vérifiez les résultats. Recherchez les fichiers supprimés TestDB_Restored.mdf et TestDB_Restored_log.ldf, et notez leur nom, leur taille et leur emplacement.

Hetman RAID Recovery: TestDB_Restored.mdf
Hetman RAID Recovery: TestDB_Restored_log.ldf

Si Analyse rapide ne trouve pas les fichiers requis ou si le résultat est incomplet, revenez à la sélection du mode d’analyse et lancez Analyse complète. Elle effectue une analyse plus approfondie de NTFS et peut trouver davantage de données supprimées.

Une fois les fichiers MDF et LDF requis trouvés, ajoutez-les à la liste de récupération et enregistrez-les sur un autre disque physique.

Hetman RAID Recovery: enregistrement du fichier récupéré TestDB_Restored_log.ldf

Il n’est pas recommandé de récupérer les fichiers sur le volume réparti dynamique d’origine, car de nouvelles écritures pourraient écraser d’autres données qui pourraient encore être récupérées.

Après la récupération des fichiers physiques, retournez dans Microsoft SQL Server Management Studio. Dans le menu contextuel de Bases de données, sélectionnez Attacher.

Windows Server 2022: Bases de données - Attacher

Ajoutez le fichier TestDB_Restored.mdf récupéré et vérifiez que SQL Server détecte le fichier journal associé TestDB_Restored_log.ldf.

Windows Server 2022: ajout du fichier TestDB_Restored.mdf récupéré

Si les deux fichiers restent lisibles et cohérents, effectuez Attach. Après l’attachement, la base de données réapparaît dans la liste SQL Server.

Windows Server 2022: SQL Server détecte le fichier journal associé TestDB_Restored_log.ldf

Ouvrez les tables et vérifiez les enregistrements. Vérifiez également la disponibilité des données VARBINARY(MAX) utilisées dans la base de test. Si la structure, les enregistrements et les fichiers stockés sont disponibles, la récupération peut être considérée comme réussie.

Windows Server 2022: ouverture des tables et vérification des enregistrements

Conclusion

Nous avons examiné deux scénarios principaux de travail avec les fichiers de base de données Microsoft SQL Server 2022 :

  • Dans le premier cas, le fichier de sauvegarde BAK disponible a été utilisé pour restaurer la base de données avec Restore.
  • Dans le second cas, après la suppression de la base de données, ses fichiers physiques MDF et LDF ont été retrouvés et récupérés à l’aide de Hetman RAID Recovery, puis ils ont été réattachés à SQL Server via Attach.

Hetman RAID Recovery permet de travailler avec des disques physiques, des images secteur par secteur et des disques distants via SSH, et prend également en charge Windows, Linux et macOS. Cela permet d’organiser la récupération même lorsque les fichiers SQL Server sont stockés sur des configurations multidiques ou lorsque les disques du serveur sont difficiles à retirer et à connecter à un autre ordinateur.

Abdelhamid Balti

Auteur: , Rédacteur technique

AbdelHamid Balti est un rédacteur technique chez Hetman Software. Il gère les tutoriels, les procédures et les revues détaillées concernant le fonctionnement des outils de l'entreprise avec toutes sortes de périphériques de stockage de données.

Mykhailo Miroshnychenko

Éditeur: , Rédacteur technique

Mykhailo Miroshnychenko est l'un des principaux programmeurs de la société Hetman Software. S'appuyant sur quinze années d'expérience en développement logiciel, il partage ses connaissances avec les lecteurs de notre blog. En plus de la programmation, Mykhailo est un expert dans le domaine de la récupération de données, des systèmes de fichiers, des périphériques de stockage de données et des matrices RAID.

Recommandé pour vous