Sobes.tech
Middle

Kaip veikia duomenų bazės atkūrimas iš pilno + skirtinio + sandorių žurnalo atsarginės kopijos?

sobes.tech AI

Atsakymas iš AI

Atstatant duomenų bazę iš pilnų (full), diferencialinių (differential) ir transakcijų žurnalo (transaction log) atsarginių kopijų, tai atliekama keliuose etapuose:

  1. Atstatomas paskutinis pilnas atsarginis kopijavimas — tai bazės pagrindinė būsena.
  2. Tada taikomas paskutinis diferencialinis atsarginis kopijavimas, kuris apima pakeitimus nuo pilno kopijavimo.
  3. Po to, sekuose taikomi visi transakcijų žurnalo įrašai, padaryti po diferencialinio kopijavimo, kad bazė būtų pasiekusi norimą būseną paskutinio žurnalo metu.

Svarbu naudoti NORECOVERY parinktį tarpinėse žingsniuose, kad bazė liktų atkūrimo režime ir priimtų būsimus atsarginius kopijavimus, ir tik po visų taikymų atlikti RECOVERY.

Komandų pavyzdžiai:

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;