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

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

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

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

[!附註]

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

還原順序

[!附註]

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

  1. 線上還原檔案 a1。

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

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

  2. 還原該檔案之後,資料庫管理員會進行新的記錄備份,以確保能擷取到檔案離線的時間點。

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

    管理員會還原已還原之檔案備份後進行的所有記錄備份,並在最新的記錄備份 (步驟 2 所建立的 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 LOG adb WITH RECOVERY;
    

    檔案 a1 現在已經在線上。

其他範例

請參閱

參考

BACKUP (Transact-SQL)

RESTORE (Transact-SQL)

概念

線上還原 (SQL Server)

分次還原 (SQL Server)

還原和復原概觀 (SQL Server)

套用異動記錄備份 (SQL Server)