Sobes.tech
Middle

Kako funkcioniše obnavljanje baze podataka iz potpune + diferencijalne + transakcione log kopije?

sobes.tech АИ

Одговор од АИ

Obnova baze podataka iz potpune (full), diferencijalne (differential) i transakcijske (transaction log) sigurnosnih kopija odvija se u nekoliko faza:

  1. Obnavlja se posljednja potpuna sigurnosna kopija — to je osnovno stanje baze.
  2. Zatim se primjenjuje posljednja diferencijalna sigurnosna kopija, koja sadrži promjene od posljednje potpune kopije.
  3. Nakon toga, redom se primjenjuju svi transakcijski dnevnici napravljeni nakon diferencijalne kopije, kako bi baza došla do željenog stanja u trenutku posljednjeg dnevnika.

Važno je koristiti opciju NORECOVERY u međufazama, kako bi baza ostala u načinu oporavka i prihvatila buduće sigurnosne kopije, a tek nakon primjene svih, izvršiti RECOVERY.

Primjer naredbi:

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;