詳解SQL Server備份和還原全攻略--完全備份vs差異備份vs增量備份

數據庫 SQL Microsoft SQL Server 波波說運維 2019-06-08

概述

今天主要分享下sqlserver的完全備份,差異備份,增量備份,內容比較多,先介紹下相關概念...


01

相關概念

完全備份

備份全部選中的文件夾,並不依賴文件的存檔屬性來確定備份那些文件。(在備份過程中,任何現有的標記都被清除,每個文件都被標記為已備份,換言之,清除存檔屬性)。完全備份也叫完整備份。

差異備份

差異備份是針對完全備份:備份上一次的完全備份後發生變化的所有文件。(差異備份過程中,只備份有標記的那些選中的文件和文件夾。它不清除標記,即:備份後不標記為已備份文件,換言之,不清除存檔屬性)。

增量備份

增量備份是針對於上一次備份(無論是哪種備份):備份上一次備份後,所有發生變化的文件。(增量備份過程中,只備份有標記的選中的文件和文件夾,它清除標記,即:備份後標記文件,換言之,清除存檔屬性。)

事務日誌備份

在特定事務日誌備份之前執行的完整數據庫備份和上次差異備份(如果有)。在完整數據庫備份之後執行的所有事務日誌備份或在特定事務日誌備份之前執行的差異備份(如果還原了差異備份)。

部分備份: 通過指定 READ_WRITE_FILEGROUPS 創建的備份稱為“部分備份”。在簡單恢復模式下,只允許對只讀文件組執行文件組備份。還原的數據備份類型:數據庫備份、部分備份或文件備份。對於數據庫備份或部分備份,日誌備份序列必須從數據庫備份或部分備份的結尾處開始延續。對於一組文件備份,日誌備份序列必須從整組文件備份的開頭開始延續。

文件備份: “文件備份”包含一個或多個文件(或文件組)中的所有數據。

日誌鏈: 連續的日誌備份序列稱為“日誌鏈”。日誌鏈從數據庫的完整備份開始。通常,僅當第一次備份數據庫時,或者將恢復模式從簡單恢復模式切換到完整恢復模式或大容量日誌恢復模式之後,才會開始一個新的日誌鏈。除非在創建完整數據庫備份時選擇覆蓋現有備份集,否則現有的日誌鏈將保持不變。在該日誌鏈保持不變的情況下,便可從媒體集中的任何完整數據庫備份還原數據庫,然後再還原相應恢復點之前的所有後續日誌備份。恢復點可以是上次日誌備份的結尾,也可以是任何日誌備份中的特定恢復點。


02

備份方案例子

某個站點在星期天晚上執行完整數據庫備份。在白天每隔 4 小時製作一個事務日誌備份集,並用當天的備份重寫頭一天的備份。每晚則進行差異備份。如果數據庫的某個數據磁盤在星期四上午 9:12 出現故障,則該站點可以:

1) 備份當前事務日誌;(已經出現故障了,如何備份當前事務日誌?)

2) 還原從星期天晚上開始的數據庫備份;

3) 還原從星期三晚上開始的差異備份,將數據庫前滾到這一時刻;

4) 還原從早上 4 點到 8 點的事務日誌備份,以將數據庫前滾到早上 8 點;

5) 還原故障之後的日誌備份。這將使數據庫前滾到故障發生的那一刻。


03

還原步驟

創建一個叫TestBackup的數據庫,創建一張叫Table1的表,這個時候進行一次完整備份,備份文件為:TestBackupDB-full.bak;接著創建表Table2後進行差異備份,備份文件為:TestBackupDB-diff.bak;接著創建表Table3後進行事務日誌備份(如果數據庫設置了恢復模式為【簡單】,那麼在備份類型選項中將看不到【事務日誌】),備份文件為:TestBackupDB-log.bak;

創建一個叫TestBackup2的數據庫,用於測試TestBackup數據庫的備份文件的還原。

詳解SQL Server備份和還原全攻略--完全備份vs差異備份vs增量備份

創建庫結構

詳解SQL Server備份和還原全攻略--完全備份vs差異備份vs增量備份

備份類型

下面對三個備份文件:TestBackupDB-full.bak、TestBackupDB-diff.bak、TestBackupDB-log.bak進行還原:

步驟1:還原完整備份文件TestBackupDB-full.bak

詳解SQL Server備份和還原全攻略--完全備份vs差異備份vs增量備份

進入SSMS還原

詳解SQL Server備份和還原全攻略--完全備份vs差異備份vs增量備份

還原常規

詳解SQL Server備份和還原全攻略--完全備份vs差異備份vs增量備份

還原選項

詳解SQL Server備份和還原全攻略--完全備份vs差異備份vs增量備份

完整備份還原

步驟2:還原差異備份文件TestBackupDB-diff.bak,操作如前面所示。

步驟3:還原事務日誌備份文件TestBackupDB-log.bak,進入事務日誌的還原操作界面;指定事務的時間進行還原(還原過程中的恢復狀態都是默認為RESTORE WITH RECOVERY,所以這裡沒有提及這個選項)

詳解SQL Server備份和還原全攻略--完全備份vs差異備份vs增量備份

進入事務日誌

詳解SQL Server備份和還原全攻略--完全備份vs差異備份vs增量備份

還原後的數據庫


前面已經介紹了備份的過程,所以這裡就不多做介紹了,主要介紹還原的整個步驟。後面會分享更多devops和DBA方面的內容,感興趣的朋友可以關注一下~

詳解SQL Server備份和還原全攻略--完全備份vs差異備份vs增量備份

相關推薦

推薦中...