1. 程式人生 > >sqlserver完整差異備份還原

sqlserver完整差異備份還原

from 修改 src itl idt 兩個 sql bak 進行

Sql server 的完整備份和差異備份

完整備份當然就是將數據庫的數據全部備份

而差異備份指得是將上一次備份後到現在對數據的修改進行備份.

因此差異備份不能單獨使用,只能先還原上一次的完整備份後,才能還原差異備份,

當有多個差異備份時,只需要選擇指定日期的差異備份文件即可,不需要逐個還原在此期間的差異備份.

步驟為:

1、在需要還原的數據庫上右鍵選擇如圖

技術分享圖片

2、在“常規”選項中點擊“源設備”選取磁盤上備份好的.bak文件後,勾上“還原”選項的勾

技術分享圖片

3、在“選項”頁面中,勾選上“覆蓋現有數據庫”,恢復狀態,選擇第一個“回滾未提交的事務。。。。”,其中在“行數據”和“日誌”兩個數據行中,務必查看“還原為”的路徑是否指向了你需要還原的數據庫名字 dbname.mdf和dbname_log.ldf,因為有些被還原的數據庫名字和.bak備份文件中的名字不一樣,導致還原失敗。

技術分享圖片

4、點擊確定後還原成功

當數據庫文件很大,數據量很大,備份和還原需要花費不少時間的時候,數據庫的差異備份自然就成為考慮的備份方案之一。

SQLSERVER2008的差異備份存在兩種備份方式:

1. 先做一個完整備份,然後再做差異備份,差異備份的文件還是使用完整備份的那個文件,這樣在完整備份集中就會存在兩個

備份文件。還原的時候,都選中這個差異文件,還原選項選擇“覆蓋現有數據庫”和“回滾未提交的事務......”這兩項即可

2. 先做一個完整備份,然後再做一個差異備份,差異備份的文件不使用完整備份的那個文件,自己再新建一個差異備份文件。

這樣磁盤上針對這兩次備份就會存在兩個備份文件。還原這兩個備份文件時,先選擇完整備份的文件,還原選項裏選擇

“覆蓋現有數據庫”和“不對數據庫執行任何操作....” 完成還原後,會發現被還原的數據庫名呈現“DBName(正在還原...)”

針對這個數據庫再進行一次還原,選擇差異備份文件後,直接點確定即可。

步驟截圖:

1、首先如下圖對數據庫做一個完全備份後再做差異備份

技術分享圖片

2、進行差異還原的時候首選選擇上圖中_完全.bak文件進行還原,此時DB會顯示 dbname(正在還原…)

技術分享圖片

技術分享圖片

技術分享圖片

3、在上圖(正在還原…)的DB名字上,右鍵-》任務-》還原-》數據庫,選擇如上圖的“源設備”選項,選擇_差異2.bak,勾上還原

在“選項”頁面做如下選擇

技術分享圖片

點擊確定後,差異還原成功執行。

註意:我們是直接選擇的_差異2.bak進行的還原,這樣的話也會將_差異1.bak中的數據還原到數據庫中,因為_差異2.bak是從_差異1.bak上進行差異備份的。

From:http://www.cnblogs.com/ivanyb/archive/2013/01/23/2873437.html

sqlserver完整差異備份還原