Sobes.tech
Middle

Толук + айырмачылык + транзакция журналынын сактоо менен маалымат базасын калыбына келтирүү кандай иштейт?

sobes.tech AI

AIден жооп

Толук (full), айырмалуу (differential) жана транзакциялык журнал (transaction log) сактоо көчүрмөлөрүнөн маалыматтарды калыбына келтирүү бир нече этапта жүргүзүлөт:

  1. Соңку толук сактоо көчүрмөсү калыбына келтирилет — бул базанын негизги абалы.
  2. Андан соң, акыркы айырмалуу сактоо көчүрмөсү колдонулат, ал толук сактоо көчүрмөсүнөн бери жасалган өзгөртүүлөрдү камтыйт.
  3. Андан соң, айырмалуу сактоо көчүрмөсүнөн кийин жасалган бардык транзакциялык журналдар кезек-кезеги менен колдонулат, ошентип база акыркы журналдын убактысына чейин керектүү абалга келет.

Орто этаптарда NORECOVERY опциясын колдонуу маанилүү, анткени база калыбына келтирүү режиминде калат жана кийинки сактоо көчүрмөлөрүн кабыл алат, жана бардык колдонулгандан кийин гана RECOVERY аткарылат.

Көчүрмө командаларынын мисалы:

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;