完整恢復模式下執行資料庫完整還原
資料庫完整還原的目的是還原整個資料庫。整個資料庫在還原期間處於離線狀態。在資料庫的任何部分變為聯機之前,必須將所有資料恢復到同一點,即資料庫的所有部分都處於同一時間點並且不存在未提交的事務。
在完整恢復模式下,資料庫可以還原到特定時間點。時間點可以是最新的可用備份、特定的日期和時間或者標記的事務。
安全說明:
建議您不要從未知源或不可信源附加或還原資料庫。這些資料庫可能包含執行非預期 Transact-SQL 程式碼的惡意程式碼,或通過修改架構或物理資料庫結構導致錯誤。使用來自未知源或不可信源的資料庫前,請在非生產伺服器上針對資料庫執行 DBCC CHECKDB,然後檢查資料庫中的程式碼,例如儲存過程或其他使用者定義程式碼。
還原完整資料庫
通常,將資料庫恢復到故障點分為下列基本步驟:
備份活動事務日誌(稱為日誌尾部)。此操作將建立結尾日誌備份。如果活動事務日誌不可用,則該日誌部分的所有事務都將丟失。
重要提示:
在大容量日誌恢復模式下,備份任何包含大容量日誌操作的日誌都需要訪問資料庫中的所有資料檔案。如果無法訪問該資料檔案,則不能備份事務日誌。在這種情況下,您必須手動重做自最近備份日誌以來所做的所有更改。
有關詳細資訊,請參閱結尾日誌備份。
還原最新完整資料庫備份而不恢復資料庫 (RESTORE DATABASE database_name FROM backup_device WITH NORECOVERY)。
如果存在差異備份,則還原最新的差異備份而不恢復資料庫 (RESTORE DATABASE database_name WITH NORECOVERY)。
從還原備份後建立的第一個事務日誌備份開始,使用 NORECOVERY 依次還原日誌。
恢復資料庫 (RESTORE DATABASE database_name WITH RECOVERY)。此步驟也可以與還原上一次日誌備份結合使用。
資料庫完整還原通常可以恢復到日誌備份中的某一時間點或標記的事務。但是,在大容量日誌恢復模式下,如果日誌備份包含大容量更改,則不能進行時點恢復。有關詳細資訊,請參閱將資料庫還原到備份中的某個時間點。
下圖顯示了這一過程。故障發生後 (1),將建立結尾日誌備份 (2)。接著,將資料庫還原到該故障點。這涉及到還原資料庫備份、後續差異備份以及在差異備份後執行的每個日誌備份,包括結尾日誌備份。
還原整個資料庫時,應使用單一還原順序。下面的示例說明還原順序中用於將資料庫還原到故障點的資料庫完整還原方案的關鍵選項。還原順序由通過一個或多個還原階段來移動資料的一個或多個還原操作組成。將省略與此目的不相關的語法和詳細資訊。
資料庫將還原並前滾。資料庫差異用於減少前滾時間。此還原順序用於避免丟失工作;上次還原的備份為結尾日誌備份。
還原順序的基本 RESTORE 語法是:
RESTORE DATABASE database FROM full database backup WITH NORECOVERY;
RESTORE DATABASE database FROM full_differential_backup WITH NORECOVERY;
RESTORE LOG database FROM log_backup WITH NORECOVERY;
對於其他每個日誌備份,重複此還原日誌步驟。
RESTORE DATABASE database WITH RECOVERY;
示例
對於以下示例,AdventureWorks 示例資料庫已設定為在資料庫備份之前使用完整恢復模式。此示例將建立 AdventureWorks 資料庫的結尾日誌備份。接下來,示例將還原較早的完整資料庫備份和日誌備份,然後還原結尾日誌備份。示例將在最後的單獨步驟中恢復資料庫。
注意:
此示例使用在完整資料庫備份的“在完整恢復模式下使用資料庫備份”部分中建立的資料庫備份和日誌備份。
此示例以 ALTER DATABASE 語句開頭,該語句將恢復模式設定為 FULL。
USE master;
--Make sure the database is using the full recovery model.
ALTER DATABASE AdventureWorks SET RECOVERY FULL;
GO
--Create tail-log backup.
BACKUP LOG AdventureWorks
TO DISK = 'Z:\SQLServerBackups\AdventureWorks.bak''Z:\SQLServerBackups\AdventureWorks.bak'
WITH NORECOVERY;
GO
--Restore the full database backup (from backup set 1).
RESTORE DATABASE AdventureWorks
FROM DISK = 'Z:\SQLServerBackups\AdventureWorks.bak'
WITH FILE=1,
NORECOVERY;
--Restore the regular log backup (from backup set 2).
RESTORE LOG AdventureWorks
FROM DISK = 'Z:\SQLServerBackups\AdventureWorks.bak'
WITH FILE=2,
NORECOVERY;
--Restore the tail-log backup (from backup set 3).
RESTORE LOG AdventureWorks
FROM DISK = 'Z:\SQLServerBackups\AdventureWorks.bak'
WITH FILE=3,
NORECOVERY;
GO
--recover the database:
RESTORE DATABASE AdventureWorks WITH RECOVERY;
GO恢復到故障點
還原完整資料庫備份
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16436858/viewspace-541431/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 簡單恢復模式下執行資料庫完整還原模式資料庫
- SQLSERVER完整資料庫還原(完整恢復模式)SQLServer資料庫模式
- 簡單恢復模式執行資料庫完整還原模式資料庫
- 完整恢復模式下執行檔案還原模式
- 在完整恢復模式計劃和執行還原順序模式
- 將 SQL Server 資料庫還原到某個時點(完整恢復模式)SQLServer資料庫模式
- 完整恢復模式下聯機還原只讀檔案模式
- 完整恢復模式下主檔案組離線還原模式
- 完整恢復模式下讀/寫檔案的聯機還原模式
- 完整恢復模式僅對某些檔案組進行還原模式
- 【備份恢復】在 ARCHIVELOG 模式下執行資料庫還原和恢復操作(源庫備份源庫恢復)Hive模式資料庫
- 簡單恢復模式下執行檔案還原模式
- DM7使用DMRMAN執行資料庫還原和恢復資料庫
- 完整恢復模式下使用標記的事務模式
- 【備份恢復】下:還原和恢復資料庫(即將一個庫還原到另外一個庫)資料庫
- 使用RMAN還原和恢復資料庫資料庫
- 從完整恢復模式或大容量日誌恢復模式切換模式
- 在大容量日誌恢復模式下進行還原模式
- SQL Server 2008 完整恢復模式下備份SQLServer模式
- oracle資料恢復還原Oracle資料恢復
- 簡單恢復模式下的還原限制模式
- Navicat還原資料庫不完整的解決辦法資料庫
- 【備份恢復】上:還原和恢復資料庫(即將一個庫還原到另外一個庫)資料庫
- Oracle資料庫的熱備份與完整恢復測試 (2)Oracle資料庫
- Oracle資料庫的熱備份與完整恢復測試 (1)Oracle資料庫
- SQL Server 資料庫備份還原和資料恢復SQLServer資料庫資料恢復
- postgresql 使用pg_rman恢復還原資料庫SQL資料庫
- 使用儲存指令碼還原恢復資料庫指令碼資料庫
- 恢復之還原資料檔案
- (Les16 執行資料庫恢復)-表空間恢復資料庫
- MySQL使用mysqldump+binlog完整恢復被刪除的資料庫(轉)MySql資料庫
- 【備份恢復】noarchive模式下使用增量備份恢復資料庫Hive模式資料庫
- Backup And Recovery User's Guide-執行完全資料庫恢復-執行開啟的資料庫的恢復GUIIDE資料庫
- Backup And Recovery User's Guide-執行完全資料庫恢復-執行關閉的資料庫的恢復GUIIDE資料庫
- Backup And Recovery User's Guide-執行完全資料庫恢復-執行整個資料庫的完全恢復GUIIDE資料庫
- 【北亞資料恢復】vmfs還原快照操作導致SqlServer資料庫資料丟失的資料恢復資料恢復SQLServer資料庫
- 資料庫完整性資料庫
- 【北亞資料恢復】oracle資料庫執行truncate table命令怎麼恢復資料?資料恢復Oracle資料庫