sqlserver 2008 備份恢復實戰

一 內容說明

sqlserver數據庫中最重要的是數據庫備份和還原,當數據庫出現災難性破壞的時候,需要有最佳的恢復計劃,恢復數據和恢復方案。對於已經實施完數據庫備份的數據庫,需要定期組織恢復演練,以便在災難故障來臨時,可以快速的恢復。

下面介紹了備份策略制定,恢復計劃,還原計劃。

還原主要有以下幾種組合(根據自己實際情況選擇):

  1. 完整恢復
  2. 完整恢復+差異恢復
  3. 完整恢復+差異恢復+日誌事務恢復

二 策略制定

2.1 沒有事務日誌的情況

由於數據庫數據量不是很大,數據庫全備每天執行一次

數據庫每各半小時,執行一次差異備份

2.2 數據庫開啓了事務模式

數據庫每週星期天凌晨1點,全備數據庫

數據庫每天18點差異備份

數據庫每30分鐘,執行一次日誌事務備份

三 備份步驟(作業創建)

1.1 全量備份

輸入名字: auto_backup_sqlserver ,點擊確認,進入作業計劃裏面。

clip_image001

進入 --> 維護計劃 --> auto_backup_sqlserver --> "添加子計劃"

按照下面方式填寫

名稱:km_full

說明: 全備 km_full_

計劃: 需要選擇具體備份策略,參考下一步

clip_image002

作業計劃屬性設置如下:

名稱: backup_full

計劃類型: 重複執行

頻率: 每天,執行間隔1天

每天頻率: 執行一次,時間爲 1點

clip_image003

當作業屬性,點擊確認後,選擇子計劃:km_full,拖動 “備份數據庫任務” 到子計劃 任務窗體,然後 雙機 “備份數據庫任務”任務框,出現 備份數據庫 任務 設置選項

連接:本地服務器連接

備份類型: 完整

數據庫: 選擇需要備份的數據庫後,這裏會變爲 特定數據庫字樣

備份目錄: 選擇備份目錄的文件夾 , 注意:這裏全備,可以寫full字樣,方便清理

勾選驗證備份完整性

clip_image004

1.2 記錄清除

添加清理歷史計劃,選擇 清理歷史記錄 任務,到窗體裏面,如下圖

clip_image005

選擇清除備份歷史記錄的優先級,點擊 備份數據庫 任務 選擇--“添加優先約束(P)”

clip_image006

根據需要 先備份,然後在刪除 歷史記錄,如下圖

clip_image007

雙機 清除歷史記錄任務,會出現 清除歷史記錄任務的選項,按照下面方式設置選擇8周以後的歷史記錄刪除

clip_image008

1.3 過期數據清除

添加 清除維護任務,從面板裏面拖 清除維護任務到主窗體裏面,如下圖:

clip_image009

雙機或者郵件點擊 清除維護任務,如下圖

clip_image010

出現 清除維護任務 屬性設置對話框

設置 文件夾: c:\bak

文件擴展名: full

刪除文件: 4周

clip_image011

1.4 差異備份

點擊 添加子計劃,出現下面對話框:

名稱: km_diff

說明: km_diff

計劃: 需要點擊然後日曆控件設置

clip_image012

點擊日曆空間,出現 差異備份的配置對話框

計劃類型: 重複執行

執行頻率: 每天

執行時間: 1:00:00

clip_image013

在主窗體裏面,拖動備份數據庫 任務 ,然後右鍵點擊編輯,出現下面對話框,完成配置後,點擊確定

備份類型: 差異

數據庫: 選擇需要差異備份的數據庫,選擇完畢後,這裏會出現 特定數據庫

勾選 爲每個數據庫創建備份文件

備份文件擴展名: diff

勾選 驗證備份完整性

clip_image014

1.5 差異備份記錄清除

從工具箱裏面 拖出 清除歷史記錄 任務,右鍵編輯,按照如下配置保存8周

clip_image015

設置 備份數據庫任務成功後,然後清除歷史記錄,右鍵點擊 備份數據庫任務,選擇添加優先約束

clip_image016

設置控制流

連接自: 備份數據庫任務

連接至: 清除歷史記錄任務

clip_image017

設置完成控制流後,會出現一個箭頭指向,如下圖

clip_image018

1.6 差異備份過期數據清除

設置完 歷史數據過期清除後,然後設置過期數據清理,從工具箱 拖動 清除維護任務到 主窗體

設置目錄:c:\bak

設置文件擴展名: diff

勾選包括以及子文件夾

保留: 4周

clip_image019

設置控制流,從工具箱選擇 清除維護任務 ,然後右擊 編輯 清除歷史記錄任務,在控制流中,選擇

連接自:清除歷史記錄任務

連接至: 清除維護任務

clip_image020

設置完畢後,如下圖:

clip_image021

1.7 事務日誌備份

點擊 工具箱-- 備份數據庫任務--右鍵點擊 編輯,出現 備份數據庫任務屬性卡

備份類型: 事務日誌

數據庫: 選擇指定需要備份的數據

勾選爲每個數據庫創建子目錄

文件擴展名: trn

勾選驗證備份完整性

clip_image022

1.8 事務日誌歷史清理

從工具箱-拖動 清除歷史記錄任務--右鍵編輯,根據下面設置,保留10周,優先級爲先備份數據庫任務,然後執行清理數據庫記錄,(控制流優先級設置,參考備份數據庫部分)

clip_image023

1.9 事務日誌過期數據清理

從工具箱裏面 拖動 清除維護任務,右鍵編輯,按照如下設置後,設置優先級,先歷史記錄清理,然後清除維護任務

文件夾:c:\bak

擴展名: trn

保留日期:2周

clip_image024

四 還原步驟

2.1 全量還原

全量恢復的時候,右鍵點擊需要還原的數據庫 任務--還原--數據庫/文件或文件組,如下圖

clip_image025

選擇了還原後,會出現 還原數據庫的選項卡界面,選擇"源設備"的路徑,如下圖,組件 是 數據庫 類型是 完整,勾選 這個還原數據庫的記錄,如下圖:

clip_image026

設置完常規後,選擇 選項,這裏選擇:

勾選現有數據庫

選擇 回滾提交的事務,使數據庫處於可以使用的狀態。無法還原其它事務日誌(L)

clip_image027

問題,當出現下面錯誤的時候,說明有人正在使用數據庫,沒有辦法還原數據庫,這個時候,需要把數據庫設置到單用戶模式。

clip_image028

設置數據庫爲單用戶模式

右鍵點擊"數據庫屬性"--"選項"

限制訪問: single_user

clip_image029

2.2 差異還原

差異還原的時候,需要注意,先還原完整的數據庫,還原完整數據庫的時候,需要注意選擇"

不對數據庫執行任何操作,不回滾未提交的事務。可以還原其他事務日誌。(RESTORE WITH NORECOVERY)

"

clip_image030

先還原完完整數據庫後,然後再右鍵點擊數據庫,任務--還原,在源設備裏面,選擇需要恢復的差異數據文件,點擊勾選

clip_image031

點擊選項卡,按照下面要求選擇,最後點擊確定,就可以完成 差異恢復了。

clip_image032

2.3 事務日誌還原

還原事務日誌和還原完整數據庫一樣的步驟,只是在選擇 源設備的時候,需要選擇需要恢復的 事務日誌文件,如下

clip_image033

選擇“回滾未提交的事務,使數據庫處於可以使用狀態。無法還原其他事務日誌(L)。(RESTORE WITH RECOVERY)”,表示沒有其它需要恢復的差異或日誌備份文件了。這裏由於後面還有2個事務日誌文件要恢復,所以選擇了 “不對數據庫執行任何操作,不回滾未提交的事務。可以還原其他事務日誌”

注:只要還要還原,就一定要選擇”不對數據庫執行任何操作,不回滾未提交的事務。可以還原其他事務日誌“,否則還原差異備份或日誌備份就會出現以上的錯誤。

clip_image034

需要說明的是,如果後面還有需要恢復的日誌事務文件,數據庫的狀態,會是 :(正在還原….)

clip_image035

當還原了所有的日誌事務文件,最後一個事務日誌需要選擇 :“回滾未提交的事務,使數據庫處於可以使用狀態。無法還原其他事務日誌(L)。(RESTORE WITH RECOVERY)”

然後點擊確認,就恢復完成了。

clip_image036

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章