Middle
Jak funguje obnovení databáze z úplného + diferenčního + transakčního zálohy?
sobes.tech AI
Odpověď od AI
Obnova databáze z úplných (full), diferenčních (differential) a transakčních logů (transaction log) probíhá ve více fázích:
- Obnoví se poslední úplná záloha — to je základní stav databáze.
- Poté se aplikuje poslední diferenční záloha, která obsahuje změny od poslední úplné zálohy.
- Následně se sekvenčně aplikují všechny transakční logy po diferenční záloze, aby se databáze dostala do požadovaného stavu k poslednímu logu.
Je důležité při mezistupních používat možnost NORECOVERY, aby databáze zůstala v režimu obnovení a přijímala další zálohy, a až po jejich aplikaci provést RECOVERY.
Příklad příkazů:
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;