SQL Server 備份簡述

SQL Server支持多種不一樣類型的備份,但最經常使用的仍是完整備份、差別備份和事務日誌備份。至於說到底能使用哪種備份還要參考數據庫的恢復模式,如簡單恢復模式就不支持事務日誌備份。sql

完整備份數據庫

備份指定數據庫中的全部數據,數據量比較大的時候,備份和恢復的成本會比較高,其過程是:首先會鎖定數據庫,阻塞全部事務,當即在事務日誌中寫入一個標誌1,並迅速釋放數據庫鎖,這個過程是很快的。ide

而後提取數據文件中全部包含數據的頁面寫入到備份設備中。不包含數據的頁面會被略過。性能

而後,再一次鎖定數據庫,阻塞全部事務,在事務日誌中寫一個標誌2,並迅速釋放數據庫鎖。日誌

最後再提取標誌1和2之間的事務,並寫入數據到備份設備中。blog

以下圖所示:事務

p_w_picpath

在此圖中,D表示有數據的頁面,L是日誌文件,若是使用的是完整備份的話,首先是打個標記1,而後將全部的數據頁面備份到設備中,而後再打個標記2,將標記1和標記2中間的日誌文件所產生的數據再添加到備份設備中。get

差別備份it

差別備份比較好理解,它是相對於完整備份來講,備份的是完整備份以後發生更改的內容,但僅限完整備份,跟上一次的差別備份沒有任何關係。差別備份的大小取決於自創建差別基準後更改的數據量。一般,差別基準越舊,新的差別備份就越大。特定的差別備份將在建立備份時捕獲已更改的區的狀態。若是建立一系列差別備份,則頻繁更新的區可能在每一個差別中包含不一樣的數據。當差別備份的大小增大時,還原差別備份會顯著延長還原數據庫所需的時間。所以,建議按設定的間隔執行新的完整備份,以便爲數據創建新的差別基準。例如,您能夠每週執行一次整個數據庫的完整備份(即完整數據庫備份),而後在該周內執行一系列常規的差別數據庫備份。io

  咱們都知道數據庫中的數據頁是8KB的大小,8個鏈接數據頁稱爲一個區。而後,還有一個映射表稱爲,差別位圖來映射到全部的數據區。當咱們作了一個基準,即完整備份以後,相應映射表中的位置就會被清零,若是發生了數據改變,相應位置會變爲1。以下圖所示:

p_w_picpath

該圖顯示了二十四個數據區,其中的六個已發生更改。差別備份只包含這六個數據區。差別備份操做取決於位圖頁,此頁針對每一個區包含一位。

事務日誌備份

事務日誌,用於記錄數據庫中的全部事務操做以及每一個事務對數據庫所作的修改。但一個數據庫可否進行事務日誌備份,取決於數據庫的恢復模式,若是是完整恢復模式或者是大容量日誌恢復模式則能夠對數據庫進行事務日誌備份。

若是是完整恢復模式,則在進行事務日誌備份時,系統會掃描全部的虛擬日誌文件(VLF),從上一次事務日誌備份後被新增的日誌記錄。並將這些日誌記錄添加到備份文件中。

與完整恢復模式(徹底記錄全部事務)相比,大容量日誌恢復模式只對大容量操做進行最小記錄(儘管會徹底記錄其餘事務)。大容量日誌恢復模式保護大容量操做不受媒體故障的危害,提供最佳性能並佔用最小日誌空間。也就是說大容量日誌恢復模式將阻止捕獲對每一個事務逐一所作的更改,只記錄大容量操做所更改的事務和數據,則沒法還原到該日誌備份中的時點,而只能還原整個日誌備份。

大容量日誌備份恢復下的事務日誌備份原理也須要用到一個位圖頁,這點和差別備份有點相似。

爲跟蹤數據頁,日誌備份操做依賴於位圖頁的大容量更改,位圖頁針對每一個區包含一位。在通過一第二天志備份後,數據頁區所對應的位圖頁中的位置會清零。而後,對於自上第二天志備份後由大容量日誌操做所更新的每一個區,在位圖中將每一個位都設置爲 1。數據區將複製到日誌中,後跟日誌數據。下圖顯示了日誌備份的構造方式。

p_w_picpath

 

以上是SQL Server較爲經常使用的三種備份。

僅複製備份選項

在SQL Server 2005及之後的版本中,多出一個僅複製備份選項,這個選項何時能夠用到?用微軟的話來講:

僅複製備份」是獨立於常規 SQL Server 備份序列的 SQL Server 備份。 一般,進行備份會更改數據庫並影響其後備份的還原方式。 可是,有時在不影響數據庫整體備份和還原過程的狀況下,爲特殊目的而進行備份仍是有用的。 僅複製備份就是用於此目的。

僅複製備份是獨立於SQL Server備份的正常序列的,也就是說若是咱們如今使用僅複製備份對數據庫作了一次完整備份,是不對生成一個新的基準的,不會影響到差別備份的,差別備份所認爲的基準仍是上一次完整備份;若是在進行完整備份時選擇了僅複製備份,則不管是這次的完整備份仍是日誌備份,事務日誌是不會被截斷的,也就是不會影響到原有的日誌鏈。所以,如今AlwaysOn輔助節點上,可使用僅複製備份選項來對數據庫進行完整備份和事務日誌備份,而不去影響原有的日誌鏈。

p_w_picpath

僅複製備份適用於完整備份和日誌備份,但不適用於差別備份。本文中的詳細內容,能夠參考:https://msdn.microsoft.com/zh-cn/library/ms187048(v=sql.105).aspx

相關文章
相關標籤/搜索