【數據庫原理及安全實驗】實驗五 數據庫備份與恢復

指導書原文

數據庫的備份與恢復SSMS

【實驗目的】

1) 熟悉并掌握利用界面操作進行數據庫備份和恢復的原理和操作。

【實驗原理】

1) 數據庫的恢復包括大容量日志恢復模式和簡單恢復模式。其中大容量日志恢復模式,簡單地說就是要對大容量操作進行最小日志記錄,節省日志文件的空間(如導入數據、批量更新、SELECT INTO等操作時)。而在簡單恢復模式下,數據庫會自動把不活動的日志刪除,因此簡化了備份的還原,但因為沒有事務日志備份,所以不能恢復到失敗的時間點。通常,簡單恢復模式只用于對數據庫數據安全要求不太高的數據庫,并且在該模式下,數據庫只能做完整和差異備份。

【實驗環境】

windows7

SQL SERVER 2008

【實驗步驟】

一、建表

1.1 開始→程序→Microsoft SQL Server 2008 R2→SQL Server Management Studio。

1.2 在“連接到服務器”對話框中,選擇“Windows 身份驗證”,點擊“連接”,進 入SQL Server Management Studio操作界面。

1.3 創建student數據庫(新建查詢 并輸入語句“create database student”)。利用如下SQL語句在student數據庫中創建表(通過“use databasename;”語句或”展開數據庫->右擊 databasename->選擇新建查詢“,選擇要操作的數據庫,再執行查詢、插入等操作命令)。

CREATE TABLE Student (

Sno char ( 7 ) PRIMARY KEY,

Sname char ( 10 ) NOT NULL,

Ssex char (2),

Sage tinyint ,

Sdept char (20)

)

CREATE TABLE Course (

Cno char(10) NOT NULL,

Cname char(20) NOT NULL,

Ccredit tinyint ,

Semester tinyint,

PRIMARY KEY(Cno)

)

CREATE TABLE SC

(

Sno char(7) NOT NULL,

Cno char(10) NOT NULL,

Grade tinyint,

XKLB char(4) ,

PRIMARY KEY ( Sno, Cno ) ,

FOREIGN KEY (Sno) REFERENCES Student (Sno),

FOREIGN KEY (Cno) REFERENCES Course (Cno)

)

二、完整性備份

2.1 單擊服務器對象—>備份設備—>新建備份設備。如圖1所示

圖?1

2.2 創建永久備份設備:backup1,backup2。如圖2、圖3所示

圖 2

圖 3

2.3 備份設備backup1、backup2創建成功。如圖4所示

圖 4

2.4 右鍵student數據庫,選擇任務—>備份。如圖5所示

圖 5

2.5 對student數據庫進行一次完整備份,并以追加的方式被分到backup1設備上。如圖6所示

圖 6

2.6 執行下述語句刪除students數據庫中的SC表drop table sc。如圖7所示

圖 7

2.7 刪除student數據庫。如圖8所示

圖 8

2.8 右鍵數據庫,選擇還原數據庫。如圖9所示

圖 9

2.9 選擇源備份,單擊瀏覽按鈕。如圖10所示

圖 10

2.10 選擇備份設備,添加backup1。如圖11所示

圖 11

2.11 利用backup1設備上對student數據庫進行的完整備份,恢復出student數據庫。如圖12所示

圖 12

2.12 數據庫student還原成功。如圖13所示

圖 13

三、差異備份

3.1 右鍵student數據庫,選擇任務—>備份。如圖14所示

圖 14

3.2 對student數據庫進行一次完整備份并以覆蓋的方式備份到backup1設備上,覆蓋掉backup1設備上已有的備份內容。如圖15所示

圖 15

3.3 行下述語句在course表中插入一行新記錄:INSERT INTO Course VALUES('C201','離散數學','','')。如圖16所示

圖 16

3.4 將student數據庫以覆蓋的方式差異備份到backup2設備上。如圖17、圖18所示

圖17

圖 18

3.5 執行語句刪除新插入記錄: DELETE FROM Course WHERE Cno='C201'。如圖19所示

圖 19

四、日志備份

4.1 刪除student數據庫。如圖20所示

圖 20

4.2 右鍵數據庫,選擇還原數據庫。如圖21所示

?圖 21

4.3 選擇源設備,單擊瀏覽按鈕。如圖22所示

圖 22

4.4 選擇備份設備,添加備份設備backup1。如圖23所示

圖 23

4.5 將student數據庫的恢復模式設置為“完整”并進行還原。如圖24所示

圖 24

4.6 對student數據庫進行一次完整備份,以覆蓋的方式備份到backup1上。如圖25所示

圖 25

4.7 執行下述語句向Course表中插入一行新記錄:INSERT INTO Course VALUES('C2002','編譯原理','','') 。如圖26所示

圖 26

4.8 對student數據庫進行差異備份,并以追加的方式備份到backup1上。如圖27所示

圖 27

4.9 執行語句: DELETE FROM Course WHERE Cno='C202' 。如圖28所示

圖 28

4.10 對student數據庫進行一次日志備份,并以覆蓋的方式備份到backup2。如圖29所示

圖29

圖 29

實驗報告

刪除Warning

采用drop database student命令,我這邊是根本刪不掉數據庫的。他的報錯是:
消息 3702,級別 16,狀態 3,第 1 行 無法刪除數據庫 "student",因為該數據庫當前正在使用。

對此,首先我跳出了這個數據庫,use另外的數據庫,但是刪不了

然后,采用手動刪除,結果如下:

于是我破防了,這個實驗在我這里實現不了,希望做成功的同志們評論區見,造福后人。

我只能把除了刪除的操作做完,下面就是結果圖。

日志備份warning

日志備份,在現在的SQLserver里面也沒有,我同學問了老師。。。說不用做。

五、實驗過程原始記錄(數據、圖表、計算等)

①完整性備份結果

②差異備份的結果

?

③日志備份結果

?

六、實驗結果及分析

問題描述:利用backup1backup2備份設備對students數據庫的備份,恢復數據庫。完全恢復后,在Course表中有新插入的記錄嗎?為什么?

答:沒有,這是因為:

在實驗的完整性備份部分,backup1 設備上存儲的是 student 數據庫的完整備份。這個備份是在執行 INSERT INTO Course 插入新記錄之前創建的。因此,恢復 backup1 設備上的完整備份時,數據庫的狀態會回到備份時的狀態,即 Course 表中不會有后續插入的新記錄。

在實驗的差異備份和日志備份部分,雖然進行了差異備份和日志備份,但在恢復時只使用了 backup1 設備上的完整備份。差異備份和日志備份記錄了備份之后對數據庫的修改(例如插入記錄的操作),但這些備份需要在恢復完整備份之后依次應用,才能恢復數據庫到最新的狀態。由于實驗中沒有提到應用差異備份和日志備份,因此恢復后的數據庫狀態不會包含這些后續的修改。

在實驗的 2.11 步驟中,僅使用 backup1 設備上的完整備份恢復了數據庫。這種恢復方式只能還原到完整備份的時間點,而無法還原后續的更改,如插入記錄的操作。

因此,完全恢復后,Course 表中不會有新插入的記錄,因為恢復操作僅使用了完整備份,而沒有應用后續的差異備份或日志備份。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/79097.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/79097.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/79097.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Linux 基礎IO(上)--文件與文件描述符fd

前言: 在生活里,我們常和各種文件打交道,像用 Word 寫文檔、用播放器看視頻,這些操作背后都離不開文件的輸入輸出(I/O)。在 Linux 系統中,文件 I/O 操作更是復雜且關鍵。 接下來我們將深入探討…

快速了解Go+rpc

更多個人筆記:(僅供參考,非盈利) gitee: https://gitee.com/harryhack/it_note github: https://github.com/ZHLOVEYY/IT_note 文章目錄 rpc基礎概念GO的rpc應用簡單編寫json編寫rpc rpc基礎概念 電商系統…

基于大模型的膀胱腫瘤全周期診療方案研究報告

目錄 一、引言 1.1 研究背景與意義 1.2 研究目的與方法 1.3 國內外研究現狀 二、大模型預測膀胱腫瘤的原理與技術基礎 2.1 大模型介紹 2.2 預測原理 2.3 技術支撐 三、術前風險預測與準備方案 3.1 腫瘤分期與惡性程度預測 3.2 患者身體狀況評估 3.3 術前準備工作 …

2025年4月個人工作生活總結

本文為 2025年4月工作生活總結。 研發編碼 一個項目的臨時記錄 自2月份領導讓我牽頭負責一個項目起,在本月算是有較多時間投入——但也是與之前的相比。 月初,清明節前一晚上,因某事務被叫上參加臨時緊急遠程會議,幾方領導都在…

Python爬蟲實戰:獲取軟科網最新特定專業大學排名數據并做分析,為高考填報志愿做參考

一、引言 在高考升學的重要階段,志愿填報成為考生和家長關注的核心問題。準確、全面且具有權威性的大學專業排名數據,是考生做出科學志愿決策的關鍵依據。軟科網作為專業的大學排名信息發布平臺,其發布的計算機科學與技術專業排名數據,因具有較高的公信力和參考價值,備受…

自學S32k144(18)————芯片鎖死問題及成功解鎖流程

1.鎖死原因 溫度過高flash異常操作靜電等電壓異常問題。。。。 本人出現情況:之前開發板不知什么原因,發生短路,重新置換芯片后,發現芯片在S32DS中無法正常燒錄 判斷可能是由于焊接時溫度過高導致鎖死。需解鎖芯片。 2.解決方法…

ISIS的由于L1產生的一系列問題

如果有些名詞不清晰可以查看之前文章 L1訪問其他區域使用缺省路由會引發次優路徑問題,但次優路徑leak路由又會引發路由環路問題,下面將會從去缺省路由到路由環路一一解決 Level 1的缺省路由 L1訪問其他區域使用缺省路由 --> 引發次優路徑 --> 引…

C++繼承(下)

目錄 一、繼承與友元 二、繼承與靜態成員 三、菱形繼承及菱形虛擬繼承 1. 繼承的方式 2. 菱形繼承的問題 3. 菱形虛擬繼承 4. 虛擬繼承解決數據冗余和二義性的原理 4.1 普通菱形繼承的內存布局 4.2 虛擬繼承的內存布局 四、繼承的總結和反思 1. 多繼承的復雜性 2.…

【漫話機器學習系列】233.激活閾(Threshold Activation)

深度學習入門:了解“閾值激活函數”(Threshold Activation Function) 激活函數是神經網絡中至關重要的一環。今天,我們通過一幅簡單直觀的手繪圖,一起理解最早期也最基礎的激活函數之一 —— 閾值激活函數(…

(4)python中jupyter lab使用python虛擬環境

1. 先了解IPython和IPyKernel簡介 IPython 是一個功能強大的交互式 Python 解釋器和開發環境。它提供了一種增強的 Python Shell,使得用戶能夠以交互的方式探索、分析和可視化數據。IPython 的名稱來源于 "Interactive Python",體現了其交互式的特性。 IPyKernel 是…

nginx 配置要領

你提出的問題非常好!確實在配置 WebSocket 代理時,proxy_pass 的 URL 處理需要特別注意。以下是關鍵解釋和修正建議: 1. 原配置的問題分析 location /ws/ {proxy_pass http://fastapi-container:8000; # 會保留 /ws/ 前綴傳遞給后端 }這種配…

【AI】DeepSeek 流程圖 / 時序圖制作,Word 排版錯亂問題,文字轉直觀圖形

一:動態流程圖 / 時序圖制作(DeepSeek Draw.IO) 工具準備 DeepSeek(AI 生成代碼):官網(免費)Draw.IO(可視化渲染):官網(免費&#…

4. python3基本數據類型

Python3 中有六個標準的數據類型: Number(數字) String(字符串) List(列表) Tuple(元組) Set(集合) Dictionary(字典) Pyt…

WPF之TextBox控件詳解

文章目錄 1. TextBox概述2. 基本屬性與功能3. 輸入控制詳解3.1 MaxLength3.2 AcceptsReturn3.3 AcceptsTab3.4 CharacterCasing3.5 IsUndoEnabled3.6 自定義輸入限制 4. 文本選擇與操作4.1 選擇屬性4.2 選擇方法4.3 文本操作4.4 選擇事件4.5 實現自定義文本處理功能 5. 滾動支持…

1.4 點云數據獲取方式——結構光相機

圖1-4-1結構光相機 結構光相機作為獲取三維點云數據的關鍵設備,其工作原理基于主動式測量技術。通過投射已知圖案,如條紋、點陣、格雷碼等,至物體表面,這些圖案會因物體表面的高度變化而發生變形。與此同時,利用相機從特定

【MATLAB第118期】基于MATLAB的雙通道CNN多輸入單輸出分類預測方法

【MATLAB第118期】基于MATLAB的雙通道CNN多輸入單輸出分類預測方法 一、雙通道CNN簡介 在深度學習領域,卷積神經網絡(CNN)憑借其強大的特征提取能力,已成為圖像識別、自然語言處理等任務的核心技術。傳統單通道CNN在處理單一模態…

2025上海車展 | 移遠通信推出自研NG-eCall QuecOpen方案,助力汽車安全新標準加速落地

4月29日,在2025上海國際汽車工業展覽會期間,全球領先的物聯網和車聯網整體解決方案供應商移遠通信宣布,正式發布自主研發的NG-eCall(下一代緊急呼叫系統)QuecOpen解決方案。 該方案憑借高度集成的軟硬件協同設計&…

leetcode76

目錄 803ms超時。。。。越改越超時。。。 一些糾纏 代碼分析: 代碼問題: 改進建議: 示例代碼: The error message you’re seeing indicates that there is a reference binding to a null pointer in your code. This typ…

大數據應用開發和項目實戰-Seaborn

一、Seaborn概述 Seaborn是基于Python數據可視化庫Matplotlib開發的擴展庫,專注于統計圖形的繪制,旨在通過簡潔的代碼實現復雜數據的可視化,幫助用戶更輕松地呈現和理解數據。其核心設計目標是簡化統計可視化流程,提供高級接口和美…

數據科學與計算

Seaborn的介紹 Seaborn 是一個建立在 Matplotlib 基礎之上的 Python 數據可視化庫,專注于繪制各種統計圖形,以便更輕松地呈現和理解數據。 Seaborn 的設計目標是簡化統計數據可視化的過程,提供高級接口和美觀的默認主題,使得用戶…