1. 程式人生 > >SQL Server備份和還原

SQL Server備份和還原

sql 數據庫 備份 還原 楊書凡

對於生產數據來講,數據的安全性是至關重要的,任何數據的丟失都可能產生嚴重的的後果。而備份作為數據的副本,可以有效的保護和恢復數據


數據丟失的原因

數據丟失的原因主要包括以下幾類:

技術分享圖片

(1)程序錯誤。例如,程序異常終止或邏輯錯誤等

(2)人為錯誤。例如,用戶或管理員誤操作

(3)計算機失敗。例如,硬件、軟件故障引起系統崩潰

(4)磁盤失敗。例如,磁盤物理塊損壞

(5)災難和偷竊。例如,火災、地震

所以,數據庫管理員的主要職責之一就是規劃一個妥善的備份和還原策略以保護數據庫,避免由於各種故障造成損失而丟失數據,以在系統失效後盡快的還原數據庫


備份類型

在SQL Server中,提供三種常見的備份類型,分別是完整備份、差異備份、事務日誌備份

完整備份:包括對整個數據庫、部分事務日誌、數據庫結構和文件結構的備份,提供了任何其他備份的基準,其他備份只能在執行了完整備份之後才能被執行

差異備份:上一次完整備份之後所有更改數據的備份,備份能識別哪一部分被修改了,只對這一部分做備份,備份速度快

事務日誌備份:記錄了數據庫的所有的改變,主要備份的是T-SQL語句,而不是整個數據庫結構、文件結構或數據


恢復類型

不管是備份還是還原,都是在一定的恢復模式中進行的。恢復模式是數據庫的一種特性,控制著數據庫備份和還原的基本行為,數據庫管理員應根據實際需求及對數據的恢復需求來選擇合適的恢復模式。

簡單恢復模式:不活動的日誌將被刪除,不支持事務日誌備份,只適用於小型數據庫和不經常更改的數據庫

完整恢復模式:可在最大範圍內防止出現故障時丟失數據,包括數據庫備份和事務日誌備份,並提供全面保護,和恢復到任意指定時間點

大容量日誌恢復模式:對完整恢復模式的補充,提供良好的性能,並占用較小的日誌空間,但增加了丟失數據的風險,適用於對數據庫進行大批量操作環境


更改恢復模式

打開SSMS,依次展開“SQL Server實例”、數據庫,右擊選中的數據庫,選擇屬性、選項,在恢復模式下拉列表選擇恢復模式,如下圖所示:

技術分享圖片


備份設備

在進行備份的時候,首先需要建立一個文件來存儲備份的數據,這個備份文件就叫做備份設備

技術分享圖片



案例:某公司使用SQL Server2008 R2存儲數據,為了提高數據的安全性,需要對數據庫進行備份。每周一22:00進行完整備份,每天12:00進行事務日誌備份

(1)在SSMS中,依次展開管理、維護計劃,右擊維護計劃向導(需要開啟SQL Server代理服務)

(2)在選擇計劃屬性窗口,輸入該維護計劃的名稱,選中每項任務單獨計劃

技術分享圖片


(3)在選擇維護任務窗口選擇以下復選框,下圖所示:

技術分享圖片


(4)選擇需要備份的數據庫,選擇備份的位置,選中驗證備份完整性,壓縮備份。最後設置執行計劃,每周一22:00進行完整備份

技術分享圖片


(5)設置備份事務日誌,和上一步類似

技術分享圖片


(6)單擊完成

技術分享圖片


由每天對數據庫進行備份,時間久了,占用的磁盤空間過大,可以通過修改維護計劃,自動清除歷史記錄。


數據庫還原

右擊需要還原的數據庫,選擇任務、還原、數據庫,進行還原

技術分享圖片





SQL Server備份和還原