Sobes.tech
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:

  1. Si ripristina l'ultimo backup completo — questo rappresenta lo stato di base del database.
  2. Successivamente, si applica l'ultimo backup differenziale, che contiene le modifiche dall'ultimo backup completo.
  3. 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;