Middle
Cum funcționează restaurarea bazei de date din backup-ul complet + diferențial + jurnal de tranzacții?
sobes.tech AI
Răspuns de la AI
Recuperarea bazei de date din backup-uri complete (full), diferențiale (differential) și jurnal de tranzacții (transaction log) se face în mai multe etape:
- Se restaurează ultima copie de siguranță completă — aceasta reprezintă starea de bază a bazei.
- Apoi, se aplică ultima copie de siguranță diferențială, care conține modificările de la ultima copie completă.
- După aceea, toate jurnalele de tranzacții efectuate după copia diferențială sunt aplicate secvențial pentru a aduce baza la starea dorită la momentul ultimului jurnal.
Este important să se utilizeze opțiunea NORECOVERY în pașii intermediari pentru ca baza să rămână în stare de recuperare și să accepte backup-urile ulterioare, și doar după aplicarea tuturor, să se execute RECOVERY.
Exemplu de comenzi:
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;