Middle
Ako funguje obnovenie databázy z úplného + diferenčného + transakčného denníka zálohy?
sobes.tech AI
Odpoveď od AI
Obnova databázy z úplných (full), diferenčných (differential) a transakčných (transaction log) záloh prebieha v niekoľkých krokoch:
- Obnoví sa posledná úplná záloha — to je základný stav databázy.
- Následne sa aplikuje posledná diferenčná záloha, ktorá obsahuje zmeny od poslednej úplnej zálohy.
- Potom sa sekvenčne aplikujú všetky transakčné denníky, ktoré boli vytvorené po diferenčnej zálohe, aby sa databáza dostala do požadovaného stavu k poslednému logu.
Je dôležité pri medziestupňoch používať možnosť NORECOVERY, aby databáza zostala v režime obnovy a akceptovala ďalšie zálohy, a až po ich aplikácii vykonať RECOVERY.
Príklady príkazov:
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;