Nous utilisons SQL 2005 Express Edition. Nous voulons lire les données du fichier LDF afin de restaurer certains enregistrements supprimés.
Nous avons essayé d'utiliser une version d'essai d'ApexSQL qui nous a beaucoup aidés. Au lieu d'utiliser un logiciel tiers, nous essayons de comprendre comment lire le fichier journal nous-mêmes.
Comment lire et récupérer des données à partir du fichier LDF?
Réponses:
Vous aurez besoin d'une sauvegarde complète précédente et de toutes les sauvegardes de journaux effectuées depuis la dernière sauvegarde complète
1) Prenez la queue de la sauvegarde du journal
2) Rechercher la transaction pour les enregistrements supprimés (l'opération sera LOP_DELETE_ROWS pour DELETEs et LOP_SET_BITS & LOP_MODIFY_ROW pour une TRUNCATE TABLE)
3) Restaurer les sauvegardes complètes précédentes et les journaux plus la queue dans une nouvelle base de données AVEC NORECOVERY et STOPAT = 'Juste avant le début de la transaction'
Ce billet de blog traite plus en détail de la recherche de l'heure d'arrêt avec fn_dblog. Ce billet de blog tente de récupérer des données directement à partir du journal, mais cela peut prendre beaucoup de temps par rapport à une récupération ponctuelle.
De plus, cet article de blog de Robert L Davis a un exemple sur la combinaison de STOP et STANDBY pour vous permettre d'interroger l'état des bases de données à différents moments.
la source