範例:僅對部分檔案群組分次還原 (完整復原模式)

適用於:SQL Server

本主題是關於在完整復原模式下,包含多個檔案或檔案群組的 SQL Server 資料庫。

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

這個範例當中,使用完整復原模式,名為 adb的資料庫包含三個檔案群組。 檔案群組 A 可讀取/寫入,而檔案群組 B 和檔案群組 C 則是唯讀的。 所有的檔案群組一開始都是在線上。

資料庫 B 的主要檔案群組與檔案群組 adb 似乎已損毀。 主要檔案群組並不大,很快就可還原。 資料庫管理員決定使用分次還原順序來加以還原。 首先,還原主要檔案群組及後續的交易記錄檔,並復原資料庫。

完整未受損的檔案群組 AC 中含有重要資料。 因此,下一步便是復原這兩個檔案群組,讓它們儘快恢復上線。 最後則是還原並復原已損毀的次要檔案群組 B

還原順序:

注意

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

  1. 為資料庫 adb建立結尾記錄備份。 您必須執行此步驟,才能讓完整的檔案群組 AC 利用資料庫還原點保持在最新狀態。

    BACKUP LOG adb TO tailLogBackup WITH NORECOVERY  
    
  2. 主要檔案群組的部分還原。

    RESTORE DATABASE adb FILEGROUP='Primary' FROM backup   
    WITH PARTIAL, NORECOVERY  
    RESTORE LOG adb FROM log_backup1 WITH NORECOVERY  
    RESTORE LOG adb FROM log_backup2 WITH NORECOVERY  
    RESTORE LOG adb FROM log_backup3 WITH NORECOVERY  
    RESTORE LOG adb FROM tailLogBackup WITH RECOVERY  
    

    此時,主要檔案群組為線上狀態。 檔案群組 ABC 中的所有檔案皆為復原暫止狀態,且檔案群組已離線。

  3. 線上還原檔案群組 AC

    由於這些檔案群組的資料並未損毀,因此它們不需要從備份還原,但必須進行復原才能回到線上。

    資料庫管理員立即復原 AC

    RESTORE DATABASE adb FILEGROUP='A', FILEGROUP='C' WITH RECOVERY  
    

    此時,主要與次要檔案群組 AC 會在線上。 檔案群組 B 裡的檔案會保持復原暫止,而檔案群組為離線。

  4. 線上還原檔案群組 B

檔案群組 B 中的檔案,可在此後的任何時間進行還原。

注意

檔案群組 B 的備份是在檔案群組變成唯讀之後進行的,因此這些檔案不需向前復原。

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

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

其他範例

另請參閱

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