範例:分次還原資料庫 (完整復原模式)
適用於:SQL Server
分次還原順序會在檔案群組層級,分階段地還原與復原資料庫,從主要檔案群組開始,然後才是所有可讀寫的次要檔案群組。
在此範例中,資料庫 adb
是在損毀之後還原至新的電腦。 資料庫使用完整復原模式,因此開始還原之前,必須對資料庫進行結尾記錄備份。 在損毀之前,所有檔案群組都在線上。 檔案群組 B
是唯讀的。 所有的次要檔案群組都必須還原,但是會依照重要性的高低順序來進行: A
(最高)、 C
,最後是 B
。 這個範例有四個記錄備份,包括結尾記錄備份。
結尾記錄備份
還原資料庫之前,資料庫管理員必須備份記錄的結尾。 因為資料庫已損毀,必須使用 NO_TRUNCATE 選項來建立結尾記錄備份:
BACKUP LOG adb TO tailLogBackup WITH NORECOVERY, NO_TRUNCATE
結尾記錄備份是下列還原順序中套用的最後一個備份。
還原順序
注意
線上還原順序的語法和離線還原順序的語法相同。
部分還原主要與次要檔案群組
A
。RESTORE DATABASE adb FILEGROUP='Primary' FROM backup1 WITH PARTIAL, NORECOVERY RESTORE DATABASE adb FILEGROUP='A' FROM backup2 WITH NORECOVERY RESTORE LOG adb FROM log_backup3 WITH NORECOVERY RESTORE LOG adb FROM log_backup4 WITH NORECOVERY RESTORE LOG adb FROM log_backup5 WITH NORECOVERY RESTORE LOG adb FROM tailLogBackup WITH RECOVERY
線上還原檔案群組
C
。此時,主要檔案群組和次要檔案群組
A
在線上。 檔案群組B
與C
的所有檔案已暫止復原,且檔案群組處於離線。步驟 1 中最後一個
RESTORE LOG
陳述式的訊息指出因為無法使用檔案群組C
,所以會延遲回復此檔案群組的交易。 一般作業可繼續進行,但在回復作業完成之前,這些交易會維持鎖定,且不會截斷記錄。在第二個還原順序中,資料庫管理員會還原檔案群組
C
:RESTORE DATABASE adb FILEGROUP='C' FROM backup2a WITH NORECOVERY RESTORE LOG adb FROM log_backup3 WITH NORECOVERY RESTORE LOG adb FROM log_backup4 WITH NORECOVERY RESTORE LOG adb FROM log_backup5 WITH NORECOVERY RESTORE LOG adb FROM tailLogBackup WITH RECOVERY
此時,主要與次要檔案群組
A
和C
會在線上。 檔案群組B
裡的檔案會保持復原暫止,而檔案群組為離線。 已解決延遲的交易,而且可以截斷記錄。線上還原檔案群組
B
。
在第三個還原順序中,資料庫管理員會還原檔案群組 B
。 在檔案群組變成唯讀之後會進行檔案群組 B
的備份,因此不需要在復原期間將它向前復原。
RESTORE DATABASE adb FILEGROUP='B' FROM backup2b WITH RECOVERY
所有檔案群組現在都已在線上。
其他範例
另請參閱
BACKUP (Transact-SQL)
線上還原 (SQL Server)
套用交易記錄備份 (SQL Server)
RESTORE (Transact-SQL)
分次還原 (SQL Server)