SQLSERVER完整資料庫還原(完整恢復模式)
資料庫完整還原的目的是還原整個資料庫。 整個資料庫在還原期間處於離線狀態。
在資料庫的任何部分變為聯機之前,必須將所有資料恢復到同一點,即資料庫的所有部分都處於同一時間點並且不存在未提交的事務。
在完整恢復模式下,還原資料備份之後,必須還原所有後續的事務日誌備份,然後再恢復資料庫。
您可以將資料庫還原到這些日誌備份之一的特定 恢復點 。 恢復點可以是特定的日期和時間、標記的事務或日誌序列號 (LSN)。
還原資料庫時,特別是在完整恢復模式或大容量日誌恢復模式下,您應使用一個還原順序。 還原順序 由通過一個或多個還原階段來移動資料的一個或多個還原操作組成。
一、將資料庫還原到故障點
通常,將資料庫恢復到故障點分為下列基本步驟:
1.備份活動事務日誌(稱為日誌尾部)。 此操作將建立結尾日誌備份。 如果活動事務日誌不可用,則該日誌部分的所有事務都將丟失。
重要
在大容量日誌恢復模式下,備份任何包含大容量日誌操作的日誌都需要訪問資料庫中的所有資料檔案。 如果無法訪問該資料檔案,則不能備份事務日誌。
在這種情況下,您必須手動重做自最近備份日誌以來所做的所有更改。
2.還原最新完整資料庫備份而不恢復資料庫 (RESTORE DATABASE database_name FROM backup_device WITH NORECOVERY)。
3.如果存在差異備份,則還原最新的差異備份而不恢復資料庫 (RESTORE DATABASE database_name FROM differential_backup_device WITH NORECOVERY)。
還原最新差異備份可減少必須還原的日誌備份數。
4.從還原備份後建立的第一個事務日誌備份開始,使用 NORECOVERY 依次還原日誌。
5.恢復資料庫 (RESTORE DATABASE database_name WITH RECOVERY)。 此步驟也可以與還原上一次日誌備份結合使用。
下圖說明此還原順序。 故障發生後 (1),將建立結尾日誌備份 (2)。 接著,將資料庫還原到該故障點。
這涉及到還原資料庫備份、後續差異備份以及在差異備份後執行的每個日誌備份,包括結尾日誌備份。
基本 TRANSACT-SQL RESTORE 語法
上圖中還原順序的基本 RESTORETransact-SQL 語法如下:
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;
示例:恢復到故障點 (Transact-SQL)
以下 Transact-SQL 示例顯示了將資料庫還原到故障點的還原順序中的基本選項。 此示例將建立資料庫的結尾日誌備份。
接下來,此示例將還原完整資料庫備份和日誌備份,然後還原結尾日誌備份。 此示例將在最後的單獨步驟中恢復資料庫。
USE master;
--Create tail-log backup.
BACKUP LOG AdventureWorks2012
TO DISK = 'Z:\SQLServerBackups\AdventureWorksFullRM.bak'
WITH NORECOVERY;
GO
--Restore the full database backup (from backup set 1).
RESTORE DATABASE AdventureWorks2012
FROM DISK = 'Z:\SQLServerBackups\AdventureWorksFullRM.bak'
WITH FILE=1,
NORECOVERY;
--Restore the regular log backup (from backup set 2).
RESTORE LOG AdventureWorks2012
FROM DISK = 'Z:\SQLServerBackups\AdventureWorksFullRM.bak'
WITH FILE=2,
NORECOVERY;
--Restore the tail-log backup (from backup set 3).
RESTORE LOG AdventureWorks2012
FROM DISK = 'Z:\SQLServerBackups\AdventureWorksFullRM.bak'
WITH FILE=3,
NORECOVERY;
GO
--recover the database:
RESTORE DATABASE AdventureWorks2012 WITH RECOVERY;
GO
二、將資料庫還原到日誌備份中的某個時間點
在完整恢復模式下,完整的資料庫還原通常可恢復到日誌備份中的某個時間點、標記的事務或 LSN。
但是,在大容量日誌恢復模式下,如果日誌備份包含大容量更改,則不能進行時點恢復。
時點還原方案示例
下例假定針對一個關鍵任務型資料庫系統,每天午夜建立一個完整資料庫備份;
從星期一到星期六,每小時建立一個差異資料庫備份;全天每 10 分鐘建立一個事務日誌備份。
若要將資料庫還原到星期三凌晨 5:19 的狀態, 請執行以下操作:
1.還原星期二午夜建立的完整資料庫備份。
2.還原星期四凌晨 5:00 建立的差異資料庫 備份。
3.應用星期四凌晨 5:10建立的事務日誌 備份。
4.應用星期三凌晨 5:20 建立的事務日誌 備份,指定恢復程式僅應用到凌晨 5:19 之前發生的事務。
或者,如果需要將資料庫還原到它在星期四凌晨 3:04 的狀態, 而在星期四凌晨 3:00 建立的差異資料庫備份已不可用,
則執行下列操作:
1.還原在星期三午夜建立的資料庫備份。
2.還原星期四凌晨 2:00 建立的差異資料庫 備份。
3.應用從星期四凌晨 2:10 到 3:00 建立的所有事務 日誌 備份。
4.應用星期四凌晨 3:10 建立的事務日誌 備份,停止凌晨 3:04 的恢復程式。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69950231/viewspace-2672222/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 完整恢復模式下執行資料庫完整還原模式資料庫
- 簡單恢復模式執行資料庫完整還原模式資料庫
- 簡單恢復模式下執行資料庫完整還原模式資料庫
- 將 SQL Server 資料庫還原到某個時點(完整恢復模式)SQLServer資料庫模式
- 完整恢復模式下執行檔案還原模式
- 完整恢復模式下聯機還原只讀檔案模式
- 完整恢復模式下主檔案組離線還原模式
- 完整恢復模式下讀/寫檔案的聯機還原模式
- 完整恢復模式僅對某些檔案組進行還原模式
- 在完整恢復模式計劃和執行還原順序模式
- 【北亞資料恢復】vmfs還原快照操作導致SqlServer資料庫資料丟失的資料恢復資料恢復SQLServer資料庫
- 使用RMAN還原和恢復資料庫資料庫
- 從完整恢復模式或大容量日誌恢復模式切換模式
- oracle資料恢復還原Oracle資料恢復
- Navicat還原資料庫不完整的解決辦法資料庫
- 【資料庫資料恢復】windows server下SqlServer資料庫的資料恢復資料庫資料恢復WindowsServerSQL
- 【備份恢復】在 ARCHIVELOG 模式下執行資料庫還原和恢復操作(源庫備份源庫恢復)Hive模式資料庫
- SqlServer資料庫資料恢復報告SQLServer資料庫資料恢復
- 【備份恢復】下:還原和恢復資料庫(即將一個庫還原到另外一個庫)資料庫
- 【備份恢復】上:還原和恢復資料庫(即將一個庫還原到另外一個庫)資料庫
- Oracle資料庫的熱備份與完整恢復測試 (2)Oracle資料庫
- Oracle資料庫的熱備份與完整恢復測試 (1)Oracle資料庫
- SQL Server 資料庫備份還原和資料恢復SQLServer資料庫資料恢復
- postgresql 使用pg_rman恢復還原資料庫SQL資料庫
- 使用儲存指令碼還原恢復資料庫指令碼資料庫
- 【資料庫資料恢復】SqlServer資料庫無法讀取的資料恢復案例資料庫資料恢復SQLServer
- 資料庫資料恢復—NTFS分割槽損壞如何恢復SqlServer資料庫資料資料庫資料恢復SQLServer
- sqlserver資料庫的備份還原SQLServer資料庫
- 完整恢復模式下使用標記的事務模式
- 【原】獲取SQLServer的最完整資料字典的SQL語句SQLServer
- 伺服器資料恢復—透過拼接資料庫碎片恢復SqlServer資料庫資料的資料恢復案例伺服器資料恢復資料庫SQLServer
- 資料庫資料恢復—SQLserver資料庫中勒索病毒被加密怎麼恢復資料?資料庫資料恢復SQLServer加密
- 恢復之還原資料檔案
- 【北亞資料恢復】sqlserver資料庫被加密的資料恢復案例分享資料恢復SQLServer資料庫加密
- MySQL使用mysqldump+binlog完整恢復被刪除的資料庫(轉)MySql資料庫
- 跨平臺還原、恢復資料庫(Windows->Linux)資料庫WindowsLinux
- 資料庫完整性資料庫
- [資料恢復答疑]如何為IBMAIX的資料卷做完整映象?資料恢復IBMAI