Middle
Come funziona il ripristino del database da backup completo + differenziale + log delle transazioni?
sobes.tech AI
Risposta dell'AI
Il ripristino del database da backup completi (full), differenziali (differential) e del log delle transazioni (transaction log) avviene in più fasi:
- Si ripristina l'ultimo backup completo — questo rappresenta lo stato di base del database.
- Successivamente, si applica l'ultimo backup differenziale, che contiene le modifiche dall'ultimo backup completo.
- Dopo di che, si applicano sequenzialmente tutti i log delle transazioni effettuati dopo il backup differenziale, per portare il database allo stato desiderato al momento dell'ultimo log.
È importante usare l'opzione NORECOVERY nelle fasi intermedie affinché il database rimanga in modalità di recupero e possa accettare ulteriori backup, e solo dopo aver applicato tutto, eseguire RECOVERY.
Esempio di comandi:
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;