Példa: Adatbázis darabos visszaállítása (teljes helyreállítási modell)

A következőkre vonatkozik:SQL Server

A darabos visszaállítási sorozat a fájlcsoport szintjén fázisokban állítja vissza és állítja helyre az adatbázist, kezdve az elsődleges és az összes olvasási-írási másodlagos fájlcsoporttal.

Ebben a példában az adatbázis adb egy katasztrófa után egy új számítógépre lesz visszaállítva. Az adatbázis a teljes helyreállítási modellt használja; ezért a visszaállítás megkezdése előtt biztonsági másolatot kell készíteni az adatbázisról. A katasztrófa előtt az összes fájlcsoport online állapotban van. A fájlcsoport B írásvédett. Az összes másodlagos fájlcsoportot vissza kell állítani, de a visszaállításuk fontossági sorrendben történt: A (legmagasabb), Cés végül B. Ebben a példában négy napló biztonsági mentése van, beleértve a tail-log biztonsági mentést is.

Tail-Log biztonsági mentés

Az adatbázis visszaállítása előtt az adatbázis-rendszergazdának biztonsági másolatot kell készítenie a napló farkáról. Mivel az adatbázis sérült, a tail-log biztonsági mentésének létrehozásához a NO_TRUNCATE lehetőséget kell használnia:

BACKUP LOG adb TO tailLogBackup WITH NORECOVERY, NO_TRUNCATE  

A végleges naplómentés az utolsó biztonsági mentés, amelyet a következő visszaállítási sorozatok során alkalmazunk.

Sorozatok visszaállítása

Megjegyzés:

Az online visszaállítási sorozat szintaxisa megegyezik az offline visszaállítási sorozat szintaxisával.

  1. Az elsődleges és másodlagos fájlcsoport Arészleges visszaállítása.

    RESTORE DATABASE adb FILEGROUP='Primary' FROM backup1   
       WITH PARTIAL, NORECOVERY  
    RESTORE DATABASE adb FILEGROUP='A' FROM backup2   
       WITH NORECOVERY  
    RESTORE LOG adb FROM log_backup3 WITH NORECOVERY  
    RESTORE LOG adb FROM log_backup4 WITH NORECOVERY  
    RESTORE LOG adb FROM log_backup5 WITH NORECOVERY  
    RESTORE LOG adb FROM tailLogBackup WITH RECOVERY  
    
  2. A fájlcsoport Conline visszaállítása.

    Ezen a ponton az elsődleges fájlcsoport és a másodlagos fájlcsoport A online állapotban van. A fájlcsoportokban BC lévő összes fájl helyreállítási függőben van, és a fájlcsoportok offline állapotban vannak.

    Az 1. lépés utolsó RESTORE LOG utasításából származó üzenetek azt jelzik, hogy a fájlcsoportot C tartalmazó tranzakciók visszaállítása elhalasztva lett, mert ez a fájlcsoport nem érhető el. A szokásos műveletek folytathatók, de a zárolásokat a jelenlegi tranzakciók tartják, és a napló csonkolása csak akkor történhet meg, ha a visszavonás befejeződött.

    A második visszaállítási sorrendben az adatbázis-rendszergazda visszaállítja a fájlcsoportot C:

    RESTORE DATABASE adb FILEGROUP='C' FROM backup2a WITH NORECOVERY  
    RESTORE LOG adb FROM log_backup3 WITH NORECOVERY  
    RESTORE LOG adb FROM log_backup4 WITH NORECOVERY  
    RESTORE LOG adb FROM log_backup5 WITH NORECOVERY  
    RESTORE LOG adb FROM tailLogBackup WITH RECOVERY  
    

    Ezen a ponton az elsődleges és a fájlcsoportok A , és C online állapotban vannak. A fájlcsoportban B lévő fájlok helyreállítása függőben marad, a fájlcsoport offline állapotban marad. A halasztott tranzakciók feloldva, és a napló csonkolása történik.

  3. A fájlcsoport Bonline visszaállítása.

A harmadik visszaállítási sorrendben az adatbázis-rendszergazda visszaállítja a fájlcsoportot B. A fájlcsoport B mentése azután történt, hogy a fájlcsoport írásvédetté vált; ezért a helyreállítás során nem kell előre vinni.

RESTORE DATABASE adb FILEGROUP='B' FROM backup2b WITH RECOVERY  

Az összes fájlcsoport online állapotban van.

További példák

Lásd még:

BACKUP (Transact-SQL)
Online visszaállítás (SQL Server)
Tranzakciónapló biztonsági mentéseinek alkalmazása (SQL Server)
RESTORE (Transact-SQL)
Darabonkénti visszaállítások (SQL Server)