範例:線上還原讀取/寫入檔案 (完整復原模式)
本主題是關於在完整復原模式下,包含多個檔案或檔案群組的 SQL Server 資料庫。
這個範例當中,使用完整復原模式,名為 adb 的資料庫包含三個檔案群組。 檔案群組 A 可讀取/寫入,而檔案群組 B 和檔案群組 C 則是唯讀的。 所有的檔案群組一開始都是在線上。
檔案群組 A 內的 a1 檔案已經損毀,資料庫管理員決定在資料庫仍然在線上時還原該檔案。
[!附註]
在簡單復原模式下,不允許線上還原讀取/寫入資料。
還原順序
[!附註]
線上還原順序的語法和離線還原順序的語法相同。
線上還原檔案 a1。
RESTORE DATABASE adb FILE='a1' FROM backup WITH NORECOVERY;
此時,檔案 a1 處於 RESTORING 狀態,而檔案群組 A 已離線。
還原該檔案之後,資料庫管理員會進行新的記錄備份,以確保能擷取到檔案離線的時間點。
BACKUP LOG adb TO log_backup3;
線上還原記錄備份。
管理員會還原已還原之檔案備份後進行的所有記錄備份,並在最新的記錄備份 (步驟 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 現在已經在線上。