首先從數據庫【恢復模式】說起,因為數據庫如果恢復模式設置不正確,會導致數據無法還原。
SQL Server 2012對數據庫備份和還原與SQL Server 2008基本沒有太大變化,僅對還原時間點選擇UI和相關還原選項做了小改動,備份和還原核心沒有做變化,這只是個人的掌握和了解,僅供參考,具體還請以官方文檔為依據。以下利用SQL Server 2012 SSMS(SQL Server Management Studio)做圖例演示。
SQL Server 2008數據庫恢復模式分為三種:完整恢復模式、大容量日志恢復模式、簡單恢復模式。

◆ 完整恢復模式。為默認恢復模式。它會完整記錄下操作數據庫的每一個步驟。使用完整恢復模式可以將整個數據庫恢復到一個特定的時間點,這個時間點可以是最近一次可用的備份、一個特定的日期和時間或標記的事務。
◆ 大容量日志恢復模式。它是對完整恢復模式的補充。簡單地說就是要對大容量操作進行最小日志記錄,節省日志文件的空間(如導入數據、批量更新、SELECT INTO等操作時)。比如一次在數據庫中插入數十萬條記錄時,在完整恢復模式下每一個插入記錄的動作都會記錄在日志中,使日志文件變得非常大,在大容量日志恢復模式下,只記錄必要的操作,不記錄所有日志,這樣一來,可以大大提高數據庫的性能,但是由于日志不完整,一旦出現問題,數據將可能無法恢復。因此,一般只有在需要進行大量數據操作時才將恢復模式改為大容量日志恢復模式,數據處理完畢之后,馬上將恢復模式改回完整恢復模式。
◆ 簡單恢復模式。在該模式下,數據庫會自動把不活動的日志刪除,因此簡化了備份的還原,但因為沒有事務日志備份,所以不能恢復到失敗的時間點。通常,此模式只用于對數據庫數據安全要求不太高的數據庫。并且在該模式下,數據庫只能做完整和差異備份。
了解了以上數據庫還原模式后,一般就應該知道將自己的數據庫設置為何種模式了。備份數據庫,SQL Server 2008提供了四種備份方式:完整備份、差異備份、事務日志備份、文件和文件組備份。

◆ 完整備份:備份整個數據庫的所有內容,包括事務日志。該備份類型需要比較大的存儲空間來存儲備份文件,備份時間也比較長,在還原數據時,也只要還原一個備份文件。
◆ 差異備份:差異備份是完整備份的補充,只備份上次完整備份后更改的數據。相對于完整備份分來說,差異備份的數據量比完整數據備份小,備份的速度也比完整備份要快。因此,差異備份通常作為常用的備份方式。在還原數據時,要先還原前一次做的完整備份,然后還原最后一次所做的差異備份,這樣才能讓數據庫里的數據恢復到與最后一次差異備份時的內容相同。
◆ 事務日志備份:事務日志備份只備份事務日志里的內容。事務日志記錄了上一次完整備份或事務日志備份后數據庫的所有變動過程。事務日志記錄的是某一段時間內的數據庫變動情況,因此在進行事務日志備份之前,必須要進行完整備份。與差異備份類似,事務日志備份生成的文件較小、占用時間較短,但是在還原數據時,除了先要還原完整備份之外,還要依次還原每個事務日志備份,而不是只還原最后一個事務日志備份(這是與差異備份的區別)。
◆ 文件和文件組備份。如果在創建數據庫時,為數據庫創建了多個數據庫文件或文件組,可以使用該備份方式。使用文件和文件組備份方式可以只備份數據庫中的某些文件,該備份方式在數據庫文件非常龐大時十分有效,由于每次只備份一個或幾個文件或文件組,可以分多次來備份數據庫,避免大型數據庫備份的時間過長。另外,由于文件和文件組備份只備份其中一個或多個數據文件,當數據庫里的某個或某些文件損壞時,可能只還原損壞的文件或文件組備份。
新聞熱點
疑難解答