【資料庫】sql server 2012資料庫基礎-資料恢復-實驗報告
這是大三第一學期《資料庫基礎》的實驗報告,總共15個實驗,前12個百度文庫都有,後面三個網上找不到都是我自己花了很多時間琢磨出來的,希望對大家,以及將來的我有所幫助!
實驗13 使用者管理及許可權管理 點我檢視
實驗14 併發控制 點我檢視
實驗15 資料恢復 本文
課程名稱 資料庫基礎
實驗專案 實驗15 資料恢復
1.實驗目的:
理解和體會資料庫事務管理的內容,掌握資料庫備份和恢復的基本方法,加強對資料庫管理系統的事務管理功能的認識。
2.實驗內容:
在SQL Server環境下實驗事務管理的基本內容;掌握資料庫備份和恢復的基本方法。
3實驗要求:
(1)軟故障後的恢復。
參照例題中的程式設計事務及事務處理的程式;
模擬軟故障的情形,使設計的事務及事務處理程式的各個分支都可以執行到;
體會事務的原子性和一致性。
(2)硬故障後的恢復。
針對一個具體的資料庫設計一個備份恢復策略;
做資料庫全備份和若干增量備份(每次備份後都有一些資料操作);
模擬一個硬故障(假設資料庫損壞);
備份當前日誌;
恢復資料庫。
(3)在實驗報告中要給出具體的操作步驟和過程,並針對各種情況做出具體的分析和討論。
4.實驗準備:
相關命令:
備份資料庫的命令是:
BACKUP DATABSE database_name TO <backup_device>
[WITH DIFFERENTIAL]
備份日誌的命令是
BACKUP LOG databse_name FROM <backup_device>
WITH {RECOVERY | NORECOVERY}
利用日誌進行恢復的命令是:
RESTORE LOG database_name FROM <backup_device>
WITH {RECOVERY | NORECOVERY}
5.實驗過程(含程式碼、實驗過程、遇到的問題和解決方法等):
首先是概念問題。資料庫恢復是建立在資料庫故障之上的。資料庫故障分為軟故障和硬故障,軟故障指的是突然停電、應用程式被強制結束的情況下,資料庫的資料丟失或者損壞。硬故障指的是儲存資料庫的物理介質壞了,造成資料的遺失或者無法讀取。
總體思路:
第一題:然而機房的電腦自帶重啟還原,無法實現斷電重啟的條件,我讓一個事務(若干修改指令中間加了一個等待指令,以便我使用工作管理員強制關閉sql server),因為事務的原子性,雖然等待指令前的修改指令已經被執行,但是因為事務未完全執行完畢,所以被還原恢復。
第二題:題目給出了條件是“假設資料庫損壞”,我先把資料庫完整備份,然後把資料庫離線,最後把資料庫恢復。
程式碼截圖:
第一題:軟故障後的恢復
圖 1 首先看到原始的 學時 資料為6
圖 2 設計一個事務 內有若干更新操作 中間加一個等待期
圖 3 在等待期內 使用工作管理員 強制結束
圖 4 再次登入資料庫 檢視學時資料 還是為6,說明事務完全沒有執行
第二題:硬故障後的恢復
圖 5 首先對‘學生管理系統‘進行完整備份
圖 6 然後模擬 硬故障 刪除該資料庫
圖 7 接著還原資料庫 覆蓋還原
圖 8 接著開啟還原的資料庫 發現數據和原先一致
6.實驗總結:
這個實驗是對資料庫進行備份和還原,當資料庫因為各種原因被損壞或者無法讀取的時候,會造成無法估量的後果,這個時候就需要資料庫還原工具,進行還原。
資料庫故障分為“軟故障”和“硬故障”兩種,“軟故障”是因為斷電導致軟體方面的故障,“硬故障”是因為物理硬體壞了,導致資料庫破損。相當於電腦的作業系統故障和物理裝置的故障。
資料庫恢復分為完全備份和增量備份,完整備份效果最好,但是比較消耗時間;增量的備份儲存的是對資料庫的操作,在完整備份的基礎上,使用增量備份也可以達到還原要求,但是增量備份時間消耗比較少,所以在選擇資料庫還原策略的時候,因為根據實際情況選擇完全備份和增量備份。