Comment récupérer les données d’un Server SQL suite à une suppression, un troncage ou un déplacement accidentel de données
Cet article vous concerne si vous avez exécuté par inadvertance sur une base de données une requête DELETE, TRUNCATE ou DROP et que vous avez perdus des enregistrements. Ce qui suit vous explique comment récupérer ces données.
Scénarios possibles: a) Facile:
>> Il suffit de restaurer la dernière sauvegarde complète de votre base de données b) Difficile:
Si vous disposez d’un backup FULL mais…
>> Il est nécessaire d’utiliser la sauvegarde complète de la base de données pour exporter les données pour ensuite les importer dans la base de données de production c) Impossible?
>> Il est nécessaire d’utiliser ApexSQL Recover Comment fonctionne le ApexSQL Recover? Le journal des transactions (Transaction log) conserve les informations à propos des dernières transactions qui ont eu lieues sur votre base de données. ApexSQL Recover est un outil qui permet d’analyser la base de données du transaction log et de récupérer les données supprimées ou perdues.
Démarrer l’outil de récupération ApexSQL Recover
Sélectionner une option de récupération basée sur la commande (accidentelle) qui a été exécutée. Par exemple, l'option Data recovery from DELETE operation devrait être utilisée sur la récupération de données est à effectuer après avoir utilisé la commande DELETE.
Si vous ne savez pas quelle commande a provoqué la perte de données, utilisez chaque option l’une après l’autre.
Si la perte de données a été causée par deux ou plus commandes erronnées, utilisez les options adéquates l’une après l’autre.
Si vous avez un backup du transaction log ou un transaction log séparé créé au moment de la perte de données, cliquez sur Add transaction logs (Ajouter des journaux de transactions) pour en ajouter
Dans le cas de figure où plusieurs transactions ont eu lieu dans la base de données après la perte des données, l’information à propos de la perte de données peut ne plus exister dans le journal de transaction en ligne.
Avec ces sources additionnelles, vous apporterez l’information nécessaire au système concernant les commandes qui ont supprimés les données dans votre base de données. Utilisez l’option Help me decide si vous n’êtes pas certains des sources de données qui peuvent être utilisées.
Cette option est uniquement disponible pour les commandes suivantes : DELETE et DROP TABLE.
Si par contre vous n’avez aucune source additionnelle à ajouter, sélectionnez No additional transaction logs are available et passez à l’étape 7.
Etape 1: Ajoutez une série de sauvegarde de journaux des transactions en finissant par la version en ligne du journal des transactions et/ou du journal des transactions détaché à l’aide du bouton Add
Etape 2: Sélectionnez le moment où les données ont été perdues. Cela va restreindre les résultats uniquement aux enregistrements que vous souhaitez récupérer. Il n’est pas nécessaire de récupérer des données que vous avez supprimé délibérément. Si vous n’êtes pas certains du moment, sélectionnez Date and time are unknown
Etape 3: Sélectionnez la ou les tables pour lesquelles des données ont été perdues. Vérifiez bien au niveau de la structure de votre base de données que les tables que vous souhaitez récupérer n'ont pas de relations avec d'autres tables.
Assurez-vous que toutes les tables qui dépendent des tables devant être récupérées ont bien été également sélectionnées. Cette étape est importante car elle permettra d'éviter des problèmes d'inconsistance lors de la réinsertion de données
Etape 4: Sélectionnez Save recovery script to file pour créer un script de récupération (Redo Script) en T-SQL qui réinsérera les données récupérées. Vous pouvez vérifier et modifier le script avant de l’exécuter.
Après que le script ait été exécuté, les données perdues sont réinsérées dans la table.
Après que le script ait été exécuté, les données perdues sont réinsérées dans la table ApexSQL Recover
© 2025 Quest Software Inc. ALL RIGHTS RESERVED. Conditions d’utilisation Confidentialité Cookie Preference Center