在上一篇中大家學會了使用SQL Server的備份裝置,接下來我們就來說明一下SQL Server在實務上經常搭配使用的三種備份類型(完整、差異、交易紀錄)。
在說明三種備份類型之前,我們先來學會如何使用SQL Server Management Studio進行資料庫備份,請依下列步驟進行操作:
1.在SQL Server Management Studio中的物件總管中展開[資料庫]節點,選取要備份的資料庫後,以滑鼠右鍵按一下資料庫,指向 [工作],然後按一下 [備份]。會出現 [備份資料庫] 對話視窗。
2.在[備份資料庫] 對話視窗的[一般]頁面下的[備份類型]下拉選單中就是我們今天要介紹的主題。
3.選擇類型後再選擇備份的目的地,後按下確定就會進行備份工作。
ps:使用 SQL Server Management Studio 指定備份工作時,您按一下 [指令碼] 按鈕,再選取指令碼目的地,即可產生對應的 Transact-SQL BACKUP 指令碼。
接下來說明三種備份類型(完整、差異、交易紀錄)。
完整備份
完整資料庫備份會備份整個資料庫。包含資料檔的資料與交易記錄的部分,讓完整資料庫備份得以復原。下圖是完整備份的邏輯圖,假設您在星期一到星期三的每天晚上七點進行完整備份。
完整備份的問題會出再重複的資料儲存與備份十間的浪費,您可以利用差異備份來解決這個問題。
差異備份
差異備份是備份上次完整備份後到備份時間點的差異。差異備份只擷取自上次完整備份以後變更過的資料。差異備份的邏輯圖如下,假設您在星期晚上七點進行完整備份,星期二與星期三的晚上七點進行差異備份。
交易紀錄備份
交易紀錄的優點是保留完整的資料異動狀態,要進行交易紀錄備份,資料庫必須在[完整]或[大量紀錄]的復原模式下。當然在建立第一個記錄備份之前,您必須先建立一份完整備份。
使用交易紀錄備份可以讓您將資料庫還原到有備份的任何一個時間點。
執行交易紀錄備份後,SQL Server會將已經備份的交易紀錄清除。
交易紀錄備份的邏輯圖如下,假設您在星期晚上七點進行完整備份,之後每天早上跟晚上七點進交易紀錄異備份。
現在您已經知道如何使用SQL Server Management Studio進行資料庫備份,也了解SQL Server在實務上經常搭配使用的三種備份類型。
請問一下如果每一個小時備份交易紀錄,會如上圖的交易紀錄備份那樣,是只備份每一個小時的交易紀錄?還是會像差異備份那樣是從上次的完整備份開始備份交易紀錄到最近一次的backup log??例如我用的指令如下:
backup log AAA to DISK = 'F:\transaction.01'-- 凌晨1點使用這個指令
backup log AAA to DISK = 'F:\transaction.02'-- 凌晨2點使用這個指令
backup log AAA to DISK = 'F:\transaction.03'-- 凌晨3點使用這個指令
backup log AAA to DISK = 'F:\transaction.04'-- 凌晨4點使用這個指令
backup log AAA to DISK = 'F:\transaction.05'-- 凌晨5點使用這個指令
.....