SQLServer數據庫差別備份

差別備份 (differential backup)定義

一種數據備份,基於完整數據庫或部分數據庫或一組數據文件或文件組(差別基準)的最新完整備份,而且僅包含自肯定差別基準以來發生更改的數據。數據庫

使用SSMS數據庫管理工具進行數據庫差別備份

一、選擇數據庫-》右鍵點擊-》選擇任務-》選擇備份。工具

clipboard.png

二、在備份數據庫彈出框中-》選擇備份類型爲差別-》而後刪除系統生成的目標文件-》而後點擊添加。spa

clipboard.png

三、在選擇備份目標彈出框中-》點擊選擇備份路徑。rest

clipboard.png

四、在定位數據庫文件彈出框中,先選擇須要備份的文件路徑,而後數據備份文件名,點擊肯定。日誌

clipboard.png

五、在備份數據庫彈出框,點擊肯定。ip

clipboard.png

六、查看備份是否成功。it

clipboard.png

使用SSMS數據庫管理工具進行數據庫差別還原

差別備份與還原須知:差別備份是上次完整備份以後發生改變的副本。因此還原是須要上次的完整備份和最近一次差別備份。差別還原有兩步操做,第一步爲還原數據庫,第二步還原差別部分。class

還原數據庫步驟test

一、選擇數據庫-》右鍵點擊-》選擇任務-》選擇還原-》選擇數據庫。cli

clipboard.png

二、在還原數據庫彈出框中-》先點擊設備-》再點擊還原文件路徑。

clipboard.png

三、在選擇備份設備彈出框中-》點擊添加文件。

clipboard.png

四、在定位備份文件彈出框中-》先選擇文件夾-》再選擇要還原的文件-》點擊肯定。

clipboard.png

五、進入還原模式。

clipboard.png

六、覆蓋現有數據庫可不勾選-》選擇數據庫恢復模式爲設置爲NORecorvery。

clipboard.png

七、查看數據庫狀態。

clipboard.png

還原差別文件步驟
一、選擇要還原的數據庫-》右鍵點擊-》選擇任務-》選擇還原-》選擇文件和文件組。

clipboard.png

二、在還原文件和文件組彈出框-》選擇設備-》選擇文件還原路徑。

clipboard.png

三、在選擇備份設備彈出框-》選擇添加。

clipboard.png

四、在定位備份文件彈出框-》選擇要還原的差別文件-》點擊肯定。

clipboard.png

五、在還原文件和文件組彈出框-》選擇文件-》點擊選項。

clipboard.png

六、選擇恢復狀態-》點擊肯定。

clipboard.png

七、還原結果。

clipboard.png

clipboard.png

使用T-SQL腳本進行差別備份

語法:backup database 數據庫名 to disk=文件路徑 with differential;
示例:backup database testss to disk='D:SqlTestbackupt3.bak' with differential;

clipboard.png

使用T-SQL腳本進行差別還原

語法:
第一步先指定數據庫恢復模式:restore database 數據庫名 from disk=數據庫文件 with norecovery ;
第二步再恢復差別備份:restore database 數據庫名 from disk=差別文件 with recovery;
示例:
第一步先恢復備份數據庫:restore database testss from disk='D:SqlTestbackuptestss.bak' with norecovery ;
第二步再恢復差別備份:restore database testss from disk='D:SqlTestbackupt3.bak' with recovery;
(注意數據庫若是存在,可刪除或者使用覆蓋先有數據庫)

clipboard.png

總結

優勢:
一、與建立完整備份相比,建立差別備份的速度可能很是快。 差別備份只記錄自差別備份所基於的完整備份後更改的數據。 這有助於頻繁地進行數據備份,減小數據丟失的風險。 可是,在還原差別備份以前,必須先還原其基準。 所以,從差別備份進行還原必然要比從完整備份進行還原須要更多的步驟和時間,由於這須要兩個備份文件。
二、若是數據庫的某個子集比該數據庫的其他部分修改得更爲頻繁,則差別數據庫備份特別有用。 在這些狀況下,使用差別數據庫備份,您能夠頻繁執行備份,而且不會產生完整數據庫備份的開銷。
三、在完整恢復模式下,使用差別備份能夠減小必須還原的日誌備份的數量。

缺點:差別備份基於最後一次完整備份的差別,那麼,對於一個繁忙的數據庫,在一段時間內作了幾回差別備份,不管這中間有多少次Checkpoint,SQL Server依然將這些基於完整備份的差別頁面放入差別備份文件,按道理來講,一個頁面在一次Checkpoint以後,若是沒有再發生任何修改,那麼是不須要放入差別備份文件裏面的(若是是基於最後一次差別的差別),由於差別位圖沒法基於差別的差別,這樣會致使,有時候差別備份文件比完整備份文件還要大。

相關文章
相關標籤/搜索