標籤:
Database Backup,是在資料丟失的情況下,能及時恢複重要資料,防止資料丟失的一種重要手段。一個合理的Database Backup方案,應該能夠在資料丟失時,有效地恢複重要資料,同時需要考慮技術實現難度和有效地利用資源。
Database Backup有四種類型,分別應用於不同的場合,下面簡要介紹一下。
1、完全備份
這是大多數人常用的方式,它可以備份整個資料庫,包含使用者表、系統資料表、索引、視圖和預存程序等所有資料庫物件。但它需要花費更多的時間和空間,所以,一般推薦一周或一月做一次完全備份。
2、交易記錄備份
交易記錄是一個單獨的檔案,它記錄資料庫的改變,備份的時候只需要複製自上次備份以來對資料庫所做的改變,所以只需要很少的時間。為了使資料庫具有魯棒性,推薦每小時甚至更頻繁的備份交易記錄。
3、差異備份
也叫增量備份。它是只備份資料庫一部分的另一種方法,它不使用交易記錄,相反,它使用整個資料庫的一種新映象。它比最初的完全備份小,因為它只包含自上次完全備份以來所改變的資料庫。它的優點是儲存和恢複速度快。推薦每天做一次差異備份。
4、檔案和檔案組備份
可以備份與還原資料庫中的個別檔案或檔案組。這種備份方法平常使用的機率比較少,常常用於對重要資料的備份。它要求在資料庫設計時,就做好考慮,把需要單獨做特別備份的表進行分組,給它們分配不同的檔案組(表只能放在檔案組上,不能放在具體的檔案上,一個檔案組可以是一個檔案或多個檔案),這樣才能在做備份的時候,單獨備份這些資料。這種的備份的處理技術難度相對來說比較高,不但要掌握備份/還原的方法,還必須對資料庫結構和資料庫中的各表資料情況掌握得比較好。
平時日常備份方法
如果你平時只做全備份,那麼受限於全備份的大小和備份時間,不可能常做。而且只有全備份,不能將資料庫恢複至某個時間點。所以,我們需要全備份+記錄備份。比如每天一個全備份,每隔1小時或若干分鐘一個記錄備份。說到差異備份,因為微軟的差異備份記錄的是上一次全備份以來發生的變化,所以,如果資料庫的改動很頻繁的話,沒過多久,差異備份就會和全備份的大小接近,因此這種情況下就不合適了。因此,全備份+記錄備份的方案適合絕大多數的使用者。
備份檔案傳送至備機後,就可以高枕無憂了嗎?錯。作為DBA還需要檢查備機上的備份檔案是否能將資料庫恢複至最新,如果採用記錄備份,會不會因為丟失某一個記錄備份檔案而導致資料庫不能恢複至最新?如何檢查記錄備份檔案之間存在斷檔?
資料庫在備份的時候,並不會檢查資料頁面的完整性,如果資料頁壞了,備份作業仍會執行,而且不會報錯,等到你探索資料頁有錯誤的時候,你也很可能已經因為磁碟空間不足,而刪除了早期的備份,而此時剩下的那些備份可能都是包含損壞的資料頁,如果損壞的資料頁是某個表的表頭的話,那這個表你就再也沒辦法恢複了。
SQL ServerDatabase Backup方法