身為數據庫管理員,如何選擇備份策略?需要關注兩點:你管理的數據庫中承受數據丟失最多多久?在數據庫備份和恢復策略方面,準備投入多少人力物力?要想取得更好的結果,就需要越多的投入。這尤其適用于數據庫備份策略。接下來,小編將介紹數據庫備份,數據庫備份和恢復步驟,一起來看看吧。
數據庫備份,數據庫備份和恢復步驟
如果沒有考慮到鏡像技術(例如SQLServer自己的數據庫鏡像和物理磁盤級鏡像),數據庫就不可能隨時進行數據庫備份,在每個備份之間總是要有一個間隔。在下一次備份之前,該間隔之間的數據更改將不受保護。因此說到最后,丟失數據的最大時間間隔是兩次備份之間的間隔。使用備份恢復機制對數據進行保護,是不可能保證數據一點不丟失的。若用戶提出的要求是不能有任何數據丟失,則必須與用戶溝通,讓他們明白,只使用數據庫備份技術實現這樣的要求是不現實的,需要做更大的投入,引入鏡像技術。
因為最大丟失數據的時間段是兩次備份之間的時間間隔,那么備份做得越多,數據丟失的次數就越少。然而,越是頻繁地進行備份,就需要更多的投入。與以下因素有關:
備份越多,要管理的備份文件就越多,恢復數據庫時要恢復的文件越多。應建立合理的備份管理系統。
盡管備份不會阻礙數據庫的正常運行,但它會產生一系列硬盤讀取和寫入。如果服務器本身的I/O非常繁忙,那么備份操作將進一步影響數據庫的性能。為了避免這類問題,需要增強服務器的硬盤讀寫能力。
由于各種因素,備份不可避免地會失敗。備份越勤,發生故障的可能性越大。管理人員及時處理錯誤,使備份任務正常運行。這樣對于管理人員的要求更高。
在你對將會投入多少人力和物力之后,你就可以決定采取哪種補充戰略。通過日志備份,數據庫可以恢復到故障點或特定時間點。因此,在備份策略中,日志備份起著非常重要的作用。但只能在完整恢復模式和某些大容量日志恢復模式的數據庫上執行日志備份。建立備份策略時,首先要決定是否要備份日志。如需備份日志,則數據庫恢復模式選擇為完整模式。(大容量恢復模式不能總保證日志備份成功,因此一般不推薦在生產環境中使用)如果不做日志備份,數據庫模式就需要簡單的設置,否則會遇到日志文件無限增長的問題。
在簡單恢復模式下,無法進行日志備份。因此它只支持最簡單的備份和恢復方法,易于管理。但是,在沒有日志備份的情況下,數據庫只能恢復到上一次備份結束。在出現災難時,數據庫上一次備份之后所做的所有數據修改都會丟失。使用簡單恢復模式,工作損失的風險隨著時間的增長而增加,直到進行下一次完全備份或差異備份為止。所以,建議你定期做足夠的備份,以免丟失大量數據。與此同時,頻率不能太高,使得備份變得難以管理。
為減少風險,可以引入差異備份。利用差異數據庫備份對數據庫完全備份進行補充,是一種降低工作損失風險的備份策略。首次數據庫備份后,連續建立3個差異備份。第三次差異備份之后,執行數據庫完全備份,建立新的差異基準。由于差異備份通常比完整備份開銷小,因此可以比較頻繁地運行。這類備份策略可用于數據量小、可以忍受長期數據丟失的數據庫上。
上述兩種備份策略的優點,是無論備份還是恢復,管理起來都比較簡單。但無論是數據庫的完全備份,還是差異備份,都不能以較頻繁的頻率進行,一般只能在晚上進行。若資料庫比較大,或不允許較長時間的數據丟失,則這種備份策略無法滿足要求。需要引入日志備份,建立更復雜但功能更強的備份恢復策略。
選擇完全恢復模式后,您可以使用日志備份。因為日志備份只復制上一次日志備份之后的所有日志記錄,開銷將比數據庫備份少很多。可定義備份以非常頻繁的頻率(5分鐘或更短)進行備份,以達到在最大限度避免失敗時數據丟失的目的。采用日志備份的好處是,您可以將數據庫恢復到日志備份中所包含的任意時間(“時間恢復”)。假設能夠在出現嚴重故障的情況下備份活動日志,那么可以將數據庫恢復到不會出現數據丟失的故障點。用日志備份的缺點是它們的數量太多,并且當恢復備份時,需要嚴格按照生成的順序進行恢復。備份中心不能丟失或跳轉。因此,日志備份做的越多,恢復所需的時間就越長,管理的復雜性也越高。
如果完成了第一次完整數據庫備份,并開始常規日志備份,則潛在的工作丟失風險存在時間,這只是數據庫損壞時點,到最后一個常規日志備份時。所以,建議經常進行日志備份,以將工作損失的風險限制到業務需求允許的范圍。發生錯誤時,您可以嘗試備份日志尾部(沒有備份的日志)。若尾部日志備份成功,則可以通過將數據庫恢復到故障點來避免任何工作損失。因此,這個備份程序的好處也是顯而易見的。
但上面提到的備份計劃的一個主要缺點是,在災難發生之后有大量的日志文件需要恢復。假定每小時進行一次日志備份,每星期天進行數據庫備份,如果災難發生在周五,就必須恢復數百個日志備份。這需要大量的工作和花費大量的時間。為最小化恢復時間,還可以對數據庫進行一系列差異性備份。
完全文件備份指定備份一個或多個文件或文件組中的所有數據。完全恢復模式下,跨越所有文件備份的一套完整文件備份和日志備份,相當于一次完整數據庫備份。利用文件備份可以更快地恢復被破壞的文件,而不需要恢復數據庫的其他部分。舉例來說,如果數據庫包含多個位于不同磁盤上的文件,在其中一個磁盤出現故障時,只需恢復故障磁盤上的文件即可。
默認情況下,文件備份包含足夠的日志記錄,可以在備份操作結束時進行前滾。(但在一個簡單恢復模式下,所有的讀/寫文件都必須一起備份,而不是一個一個地指定每個讀/寫文件或文件組)相對于數據庫備份,文件備份有以下優點:
能更快地從隔離介質故障中恢復。損壞的文件能夠快速恢復。
文件備份與完全數據庫備份相比(對于大型數據庫來說變得難以管理),為計劃和介質處理增加了靈活性。對于包含具有不同更新特征的數據的大型數據庫來說,文件或文件組的更靈活的備份也非常有用。
相對于完全數據庫備份,文件備份的主要缺點是管理復雜。若其中一個被破壞的文件沒有備份,媒體故障可能導致無法恢復整個數據庫。所以,必須保持一組完整的文件備份,對于完整/大容量日志恢復模式,還必須維護一個或多個日志備份,這些備份至少覆蓋第一個完整文件備份到最后一個完整備份之間的時間間隔。維持和跟蹤這些完整備份是一項非常耗時的工作,所需的空間可能會超過一個完整數據庫備份所需的空間。因此,這一備份策略在實際使用中還是比較少見的。唯有在超大數據庫的管理下,才能發揮其不可替代的優勢。
完全恢復模式下,一套完整的文件備份相當于覆蓋所有從第一個文件備份開始的文件備份的足夠日志備份,就相當于一個完整的數據庫備份。通過文件備份和日志備份來恢復數據庫的操作是非常復雜的。所以,如果可能的話,最好在第一個備份文件之前執行完整數據庫備份和日志備份。在創建第一個數據庫備份之后,您可以開始進行事務日志備份。根據設置的時間間隔執行事務日志備份日程。以最適合資料庫業務需求的時間間隔執行備份。
完全恢復模式下,恢復文件組備份時,不僅需要恢復文件組備份本身,而且需要依次恢復從上一次完整數據庫備份到恢復的目標時間點之前的所有日志備份,以確保文件與數據庫的其余部分保持一致。因此將有大量的要恢復的事務日志備份。為了避免這一點,考慮使用差異文件備份。但是這會讓整個備份計劃更難管理。那就是為什么文件備份很少使用的重要原因。但當管理大型數據庫時,這可能是唯一的選擇。以上就是數據庫備份和恢復步驟的相關內容,感謝您的閱讀。
[免責聲明]
文章標題: 數據庫備份,數據庫備份和恢復步驟
文章內容為網站編輯整理發布,僅供學習與參考,不代表本網站贊同其觀點和對其真實性負責。如涉及作品內容、版權和其它問題,請及時溝通。發送郵件至36dianping@36kr.com,我們會在3個工作日內處理。