範例:線上還原讀取/寫入檔案 (完整復原模式)

適用於:SQL Server

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

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

檔案群組 a1 內的 A 檔案已經損毀,資料庫管理員決定在資料庫仍然在線上時還原該檔案。

注意

在簡單復原模式下,不允許線上還原讀取/寫入資料。

還原順序

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

  1. 線上還原檔案 a1

    RESTORE DATABASE adb FILE = 'a1' FROM backup
    WITH NORECOVERY;
    

    此時,檔案 a1 處於 RESTORING 狀態,而檔案群組 A 已離線。

  2. 在您還原檔案之後,請進行新的記錄備份,以確保能擷取到檔案離線的時間點。

    BACKUP LOG adb TO log_backup3;
    
  3. 線上還原記錄備份。

    您會還原已還原之檔案備份後進行的所有記錄備份,在最新的記錄備份 (上一個步驟所建立的 log_backup3) 處結束。 還原最後一個備份之後,資料庫就可以復原。

    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 DATABASE adb WITH RECOVERY;
    

    檔案 a1 現在已經在線上。

其他範例