一.備份概述 數據安全是資料庫的生命,資料庫在使用過程中難免會遇到如:使用者的誤操作或是被惡意修改,硬體故障導致數據文件無法被訪問,自然災害導致機房在物理上的損毀。本章從備份與恢復的功能作為解決問題的切入點。在實際工作中會遇到:使用什麼樣的備份策略(比如完整備份,文件備份,差異備份,日誌備份),如何 ...
一.備份概述
數據安全是資料庫的生命,資料庫在使用過程中難免會遇到如:使用者的誤操作或是被惡意修改,硬體故障導致數據文件無法被訪問,自然災害導致機房在物理上的損毀。本章從備份與恢復的功能作為解決問題的切入點。在實際工作中會遇到:使用什麼樣的備份策略(比如完整備份,文件備份,差異備份,日誌備份),如何減少備份恢復時間(比如儘快恢覆上線),如何將資料庫恢復到想要的時間點(比如恢復到誤操作以前),如何遷移資料庫系統到一臺新機器(比如用戶賬號,密碼,任務腳本備份還原)。
1.備份類型
在sql server資料庫里包括數據文件和日誌文件,相應包括數據備份和日誌備份。數據備份可以是完整資料庫備份,文件備份,差異備份也叫增量備份。日誌備份也叫事務日誌備份。
完整備份 |
會記錄資料庫里的所有信息,可以將資料庫數據恢復到某個時間點的狀態。但一個大的資料庫備份可能 需要很長時間。假如每天或每小時只用完整備份類型就需要發費大量存儲空間和備份恢復時間,僅完整備份不能滿足用戶需求。 |
文件備份 |
備份一個或多個文件或文件組的所有數據,多數針對大型資料庫。文件備份+日誌備份=完整備份。如果是一個文件損壞,只需還原該文件,從而加快恢復速度。 |
差異備份 | 要求資料庫之前做過一次完整備份稱為基準。它是完整備份以後,發生更改的數據. 便於頻繁備份,降低數據丟失的風險。 |
日誌備份 | 要求資料庫之前做過一次完整備份,自從上次完整備份或日誌備份以後寫入的日誌記錄。連續不斷的日誌鏈可以將資料庫還原到任意時間點。 所以在備份策略中扮演重要角色。 |
2. 備份策略
(1)資料庫最多能容忍多長時間的數據丟失。
(2)投入多少人力物力做資料庫備份和恢復策略。每次備份都會有時間間隔,數據丟失容易發生在最近一次備份之後的所有資料庫操作,之後如文件損壞資料庫需要恢復,備份尾日誌肯定不成功,數據也會丟失, 為了保證數據不丟失需要引用鏡像等技術。
(3) 備份文件越多,資料庫恢復的文件也越多,要建立一個合適的備份管理制度。備份雖然不會阻塞資料庫的正常操作,但會產生一系列的磁碟讀寫,這時要避免在伺服器I/O繁忙時。備份越多,失敗的概述也會越大,需要管理員及時處理錯誤,將備份任務恢復常態。
3. 常用的備份方法
分級 | 數據備份 | 日誌備份 | |
資料庫級 | 完整資料庫備份 | 差異資料庫備份 | 日誌備份 |
文件級 | 完整文件備份 | 差異文件備份 |
二. 資料庫恢復模式下的備份類型
上面說了備份涉及的幾種類型,這裡就得說資料庫恢復模式對備份類型的支持及特點。sql server有三種資料庫恢復模式設置包括:簡單恢復模式,完整恢復模式,大容量恢復模式。
2.1 簡單恢復模式
在簡單恢復模式下,不能做日誌備份,只支持最簡單的備份和還原方式,容易管理,資料庫最後一次備份之後做的數據修改將全部丟失。為了降低風險,可以引入差異備份。差異備份的開銷一般都比完整備份低,可以經常運行。如果資料庫比較龐大或者不允許長時間的數據丟失,那這種簡單恢復模式就不適合。在總結下:
優點:
(1)日誌文件占用物理空間少日誌增長慢。
(2)對SQL執行性能優,能最小化日誌。
缺點:
(1)不支持日誌備份.
(2)無法實現零丟失,恢復時間點至上一次備份時。
(3)切換到其它恢復模式時,日誌鏈中斷。
2.2 大容量恢復模式
又叫大批量恢復模式,可以使用日誌備份,它能夠對某些大批量操作提供最佳的性能和最小的日誌使用空間,這些大批量包括bulk insert, bcp,create index, select into, writetext , updatetext。也就是說這些操作有數據丟失風險,相對完全恢復模式,這些操作都是完全記錄的。總結下:
優點:
(1)日誌文件占用物理空間少(日誌增長慢)。
(2)對SQL執行性能優(最小化日誌)。
(3)支持切換到完整模式不中斷日誌鏈。
缺點:
(1)還原大批量操作,數據有丟失風險如bulk insert, select into等。
2.3 完整恢復模式
也可以叫完全恢復模式,在此模式下,所有操作都會被完整記錄下來,如insert每新增的一行,delete每刪除的一行,還包括大批理操作如bulk insert等,都會記錄到事務日誌中。 包括create index操作也會被完全記錄,在日誌恢復時不必要重建索引,恢復會很快。使用日誌備份,可以定義一種很頻繁的頻率,5份鐘甚至更短時間來做備份,以防止出現故障數據丟失。但是備份數量越多,恢復時需要嚴格按備份產生的順序依次恢復,中間不能有任何備份缺失。
優點:
(1) 使用了日誌備份可以實現零丟失(如果能進行尾日誌備份,能還原到任意時間點)。
(2)支持切換到大容量模式不中斷日誌鏈。
缺點:
(1)日誌文件空間占用大必須定期日誌備份,達到日誌空間重用。