範例:僅限於某些檔案群組的分次還原 (簡單復原模式)

本主題是關於在簡單復原模式下,包含唯讀檔案群組的 SQL Server 資料庫。

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

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

資料庫 adb 的主要和檔案群組 B 似乎已損毀,所以資料庫管理員決定使用分次還原順序來進行還原。在簡單復原模式下,必須從相同的部分備份中還原所有的讀取/寫入檔案群組。雖然檔案群組 A 完整無缺,但還是必須隨主要檔案群組一起還原,才能確定它們是一致的 (資料庫將會還原到最後一個部分備份結尾所定義的時間點)。檔案群組 C 完整未受損,但仍然必須加以復原,才能回到線上。檔案群組 B 雖然受損,但是包含的資料不比檔案群組 C 的資料來得重要,因此會在最後才還原 B。

還原順序

  1. 從部分備份中部分還原主要檔案群組和檔案群組 A。

    RESTORE DATABASE adb READ_WRITE_FILEGROUPS FROM partial_backup 
    WITH PARTIAL, RECOVERY
    

    此時,主要檔案群組和檔案群組 A 是在線上。檔案群組 B 和 C 中的檔案皆為復原暫止狀態,且檔案群組已離線。

  2. 線上復原檔案群組 C。

    檔案群組 C 會是一致的,因為以上所還原的部分備份是在檔案群 C 變成唯讀之後才建立的,即使資料庫被還原到了過去的時間點。資料庫管理員只是復原檔案群組 C 使其回到線上,並未加以還原。

    RESTORE DATABASE adb FILEGROUP='C' WITH RECOVERY
    

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

  3. 線上還原檔案群組 B。

    檔案群組 B 中的檔案必須加以還原。資料庫管理員所還原的檔案群組 B 備份,是在檔案群組 B 變成唯讀之後、產生部分備份之前所建立的。

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

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