文章出處

應用場景:假如您用了阿里云的SQL Server RDS,想在另外一臺服務器上通過備份文件還原數據庫至之前的某個時間點。

準備工作:準備1臺用于還原的服務器,安裝好SQL Server(2008或2012都可以)。

還原場景:還原時間點在增量備份時間點之后,全量備份時間點之前。

測試案例:

上圖是RDS管理管制臺中看到的備份情況,我們的目標是將數據庫還原至2014-02-12 19:00的時間點,也就是在增量備份2014-02-13 06:31與全量備份2014-02-14 06:29之間的時間點。

經過實測的恢復操作步驟:

1,下載2014-02-10 07:16的全量備份文件并解壓出要恢復的數據庫備份文件。

2,以NORECOVERY的方式還原2014-02-10 07:16的全量備份,操作SQL語句如下:

USE [master]
RESTORE DATABASE [數據庫名稱] 
FROM  DISK = N'數據庫全量備份文件路徑' 
WITH  FILE = 1,  
NORECOVERY
GO

還原成功后,數據庫處于Restoring狀態。

3, 繼續以NORECOVERY的方式還原2014-02-12 06:51的增量備份,操作SQL語句如下:

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

日志還原成功后,數據庫處于正常狀態,這時數據庫中的數據就還原到了要恢復的時間點。    


文章列表


不含病毒。www.avast.com
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()