應用場景:假如您用了阿里雲的SQL Server RDS,想在另一臺服務器上經過備份文件還原數據庫至以前的某個時間點。數據庫
準備工做:準備1臺用於還原的服務器,安裝好SQL Server(2008或2012均可以)。服務器
還原場景:還原時間點在增量備份時間點以後,全量備份時間點以前。測試
測試案例:阿里雲
上圖是RDS管理管制臺中看到的備份狀況,咱們的目標是將數據庫還原至2014-02-12 19:00的時間點,也就是在增量備份2014-02-13 06:31與全量備份2014-02-14 06:29之間的時間點。spa
通過實測的恢復操做步驟:日誌
1,下載2014-02-10 07:16的全量備份文件並解壓出要恢復的數據庫備份文件。code
2,以NORECOVERY的方式還原2014-02-10 07:16的全量備份,操做SQL語句以下:blog
USE [master] RESTORE DATABASE [數據庫名稱] FROM DISK = N'數據庫全量備份文件路徑' WITH FILE = 1, NORECOVERY GO
還原成功後,數據庫處於Restoring狀態。ast
3, 繼續以NORECOVERY的方式還原2014-02-12 06:51的增量備份,操做SQL語句以下:class
USE [master] RESTORE DATABASE [數據庫名稱] FROM DISK = N'數據庫增量備份文件路徑' WITH FILE = 1, NORECOVERY GO
還原成功後,數據庫繼續處於Restoring狀態。
3. 聯繫阿里雲客服,讓他們聯繫DBA提供2014-02-12 06:51與2014-02-13 06:31時間點以前的日誌備份文件(目前RDS管理控制檯沒有提供日誌備份文件的下載)
4. 以RECOVERY(默認方式)的方式還原日誌
RESTORE LOG [要恢復的數據庫名稱] FROM DISK = N'前一步獲得的數據庫日誌備份文件路徑' WITH FILE = 1, STOPAT = N'要恢復的時間點' GO
日誌還原成功後,數據庫處於正常狀態,這時數據庫中的數據就還原到了要恢復的時間點。