Middle
Comment fonctionne la restauration de la base de données à partir d'une sauvegarde complète + différentielle + journal de transactions?
sobes.tech IA
Réponse de l'IA
La restauration de la base de données à partir de sauvegardes complètes (full), différentielles (differential) et du journal des transactions (transaction log) se fait en plusieurs étapes:
- La dernière sauvegarde complète est restaurée — c'est l'état de base de la base.
- Ensuite, la dernière sauvegarde différentielle est appliquée, contenant les modifications depuis la sauvegarde complète.
- Après cela, tous les journaux de transactions effectués après la sauvegarde différentielle sont appliqués séquentiellement pour amener la base à l'état souhaité au moment du dernier log.
Il est important d'utiliser l'option NORECOVERY lors des étapes intermédiaires pour que la base reste en mode récupération et accepte les sauvegardes suivantes, et seulement après avoir appliqué toutes, exécuter RECOVERY.
Exemple de commandes:
RESTORE DATABASE MyDB FROM DISK = 'full.bak' WITH NORECOVERY;
RESTORE DATABASE MyDB FROM DISK = 'diff.bak' WITH NORECOVERY;
RESTORE LOG MyDB FROM DISK = 'log1.trn' WITH NORECOVERY;
RESTORE LOG MyDB FROM DISK = 'log2.trn' WITH RECOVERY;