範例:分次還原資料庫 (完整復原模式)

適用於:SQL Server

分次還原順序會在檔案群組層級,分階段地還原與復原資料庫,從主要檔案群組開始,然後才是所有可讀寫的次要檔案群組。

在此範例中,資料庫 adb 是在損毀之後還原至新的電腦。 資料庫使用完整復原模式,因此開始還原之前,必須對資料庫進行結尾記錄備份。 在損毀之前,所有檔案群組都在線上。 檔案群組 B 是唯讀的。 所有的次要檔案群組都必須還原,但是會依照重要性的高低順序來進行: A (最高)、 C,最後是 B。 這個範例有四個記錄備份,包括結尾記錄備份。

結尾記錄備份

還原資料庫之前,資料庫管理員必須備份記錄的結尾。 因為資料庫已損毀,必須使用 NO_TRUNCATE 選項來建立結尾記錄備份:

BACKUP LOG adb TO tailLogBackup WITH NORECOVERY, NO_TRUNCATE  

結尾記錄備份是下列還原順序中套用的最後一個備份。

還原順序

注意

線上還原順序的語法和離線還原順序的語法相同。

  1. 部分還原主要與次要檔案群組 A

    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. 線上還原檔案群組 C

    此時,主要檔案群組和次要檔案群組 A 在線上。 檔案群組 BC 的所有檔案已暫止復原,且檔案群組處於離線。

    步驟 1 中最後一個 RESTORE LOG 陳述式的訊息指出因為無法使用檔案群組 C ,所以會延遲回復此檔案群組的交易。 一般作業可繼續進行,但在回復作業完成之前,這些交易會維持鎖定,且不會截斷記錄。

    在第二個還原順序中,資料庫管理員會還原檔案群組 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  
    

    此時,主要與次要檔案群組 AC 會在線上。 檔案群組 B 裡的檔案會保持復原暫止,而檔案群組為離線。 已解決延遲的交易,而且可以截斷記錄。

  3. 線上還原檔案群組 B

在第三個還原順序中,資料庫管理員會還原檔案群組 B。 在檔案群組變成唯讀之後會進行檔案群組 B 的備份,因此不需要在復原期間將它向前復原。

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

所有檔案群組現在都已在線上。

其他範例

另請參閱

BACKUP (Transact-SQL)
線上還原 (SQL Server)
套用交易記錄備份 (SQL Server)
RESTORE (Transact-SQL)
分次還原 (SQL Server)