第五章                        備份和還原 <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

實驗案例一:當程序文件破壞,數據文件保存良好時,進行恢復

" 實驗目標

1.      通過實驗掌握對最常見的系統故障進行數據恢復的技能,並加深體會數據庫備份恢復的原理,以及通過實驗更好地理解和總結如何設置數據庫備份策略和設置數據文件的存儲位置,以避免不可恢復的情況發生。

2.      其中,對於 master 數據文件被破壞的情況下如何進行數據恢復也是需要掌握的重要技能。可以根據理論章節提供的步驟作爲選做去嘗試一下。

" 需求分析

系統恢復後要保證:

1.      SQL  Server 能夠正常運行。

2.      數據庫包含 tt ,而且使用 sa 的密碼 123 進行登錄。

" 實驗環境

1.      先確認本機 SQL Server2005 已經附加或創建了數據庫 tt ,並設置 sa 的密碼爲 123

2.      tt 數據庫文件的目錄統一存放在 C \tt 中。

3.      確認 xit 數據庫文件的目錄位置,拷貝出這些數據文件。

4.      卸載掉 SQL Server2005 ,模擬程序文件被損壞。(本實驗是該了 master 數據庫的名稱,效果一樣,都是模擬數據庫程序文件損壞)

" 推薦步驟

首先到 dos 下啓動服務:

命令如下:
打開數據庫:
先用 Windows 身份驗證登錄:
數據庫屬性:
安全性"設置服務器身份驗證模式爲混合模式:
Sa " 屬性
修改 sa 的密碼爲 123
授予 sa 連接數據庫引擎,並啓用登錄:
停止服務,並重新啓動一下服務:
使用 sa 賬戶連接數據庫:
新建數據庫:
數據庫名爲 haha
haha 的數據庫上新建一個表:
 
表名爲 tt
打開表並填寫內容:
內容如下:
開始備份:
先做一次完整備份:
 
然後再打開表填寫內容:
填寫好後做一次差異備份:
 
再次打開表填寫內容:
然後做一次事務日誌備份:
 
實驗案例二:當數據庫文件被破壞,日誌文件保持良好時,完全恢復數據庫信息
" 需求分析
數據庫在以下情況下,要能夠做到完全恢復。
1.       有一次完整備份。
2.       日誌文件保存良好。
" 實驗環境
1.       haha 數據庫中建立表 tt (實驗案例一已經建好,案例二就直接引用)
2.       輸入三行數據。
3.       做一次完整備份,備份文件名爲 testback
4.       備份後再輸入兩行數據
5.       停止服務,將數據庫文件名修改爲 haha1
6.       再次啓動服務,重新打開表 tt ,系統提示錯誤信息。
" 推薦步驟
1.       備份日誌文件,備份到與完整備份同樣的備份文件上。
2.       從備份文件恢復數據庫,選擇剛備份的日誌文件和完整備份進行恢復。
 
先執行完整恢復:

 

先執行完整恢復:
因爲沒有點選選項裏的覆蓋現有數據庫:
選擇覆蓋現有數據庫:
完整恢復完成:
打開表驗證,驗證成功!
做差異恢復:
同樣要點選覆蓋現有數據庫:
差異恢復完成:
打開表驗證,驗證成功!
實驗案例三:數據錄入錯誤時,恢復到出錯前的狀態
" 需求分析
系統恢復後要保證:
1.       SQL Server 裏的 haha 數據庫能夠正常運行。
2.       tt 表處於可用狀態。
3.       數據庫 haha 的數據表 tt 裏面的數據要保證恢復到第一個即時點。
" 實驗環境
1.       使用實驗案例二的數據庫 haha 的數據表 tt
2.       錄入兩行記錄,假設第 2 條記錄錄入錯誤,希望通過數據恢復,將第 2 條錄入的數據清除掉。
第一次錄入,假設現在時間 9 45 分,輸入記錄 10
第二次錄入,假設現在時間 9 48 分,錄入記錄 11
現在假設第二條錄入錯了,希望儘快恢復,將第二次錄入的數據清楚掉。
" 推薦步驟
1. 右擊數據庫選擇恢復,選擇從數據庫恢復
2. 選擇完整備份和除了最新一次事務備份的所有其他事務日誌備份
3. 選擇「選項」,選擇「覆蓋現有數據庫」,選擇「 RESTORE WITH NORECOV-ERY
選擇從日誌恢復
1.右擊數據庫選擇恢復,選擇從事務日誌恢復
2. 選擇最新的事務日誌(瀏覽,選擇具體的時刻點)
覆蓋現有數據庫:
事務日誌恢復完成:
打開表進行驗證,驗證成功!