1. 程式人生 > 資料庫 >【資料庫】sql server 2012資料庫基礎-資料恢復-實驗報告

【資料庫】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.實驗總結:

這個實驗是對資料庫進行備份和還原,當資料庫因為各種原因被損壞或者無法讀取的時候,會造成無法估量的後果,這個時候就需要資料庫還原工具,進行還原。

資料庫故障分為“軟故障”和“硬故障”兩種,“軟故障”是因為斷電導致軟體方面的故障,“硬故障”是因為物理硬體壞了,導致資料庫破損。相當於電腦的作業系統故障和物理裝置的故障。

資料庫恢復分為完全備份和增量備份,完整備份效果最好,但是比較消耗時間;增量的備份儲存的是對資料庫的操作,在完整備份的基礎上,使用增量備份也可以達到還原要求,但是增量備份時間消耗比較少,所以在選擇資料庫還原策略的時候,因為根據實際情況選擇完全備份和增量備份。