《數(shù)據(jù)庫應(yīng)用-數(shù)據(jù)庫原理與SQL Server》課件第7章_第1頁
《數(shù)據(jù)庫應(yīng)用-數(shù)據(jù)庫原理與SQL Server》課件第7章_第2頁
《數(shù)據(jù)庫應(yīng)用-數(shù)據(jù)庫原理與SQL Server》課件第7章_第3頁
《數(shù)據(jù)庫應(yīng)用-數(shù)據(jù)庫原理與SQL Server》課件第7章_第4頁
《數(shù)據(jù)庫應(yīng)用-數(shù)據(jù)庫原理與SQL Server》課件第7章_第5頁
已閱讀5頁,還剩45頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

第7章數(shù)據(jù)庫復(fù)制和恢復(fù)

7.1數(shù)據(jù)庫備份與還原7.2附加數(shù)據(jù)庫7.3數(shù)據(jù)庫數(shù)據(jù)導(dǎo)入與導(dǎo)出小結(jié)習(xí)題

7.1數(shù)據(jù)庫備份與還原

7.1.1數(shù)據(jù)庫的備份

1.備份的概念

備份主要是為了防止非法登錄者或非授權(quán)用戶對SQLServer2005數(shù)據(jù)庫或數(shù)據(jù)造成破壞。數(shù)據(jù)庫備份包括了數(shù)據(jù)庫結(jié)構(gòu)和數(shù)據(jù)的備份。同時,備份的對象不但包括用戶數(shù)據(jù)庫,還包括系統(tǒng)數(shù)據(jù)庫。

2.備份設(shè)備

在進(jìn)行備份前,首先必須創(chuàng)建備份設(shè)備。備份設(shè)備是用來存儲備份內(nèi)容的存儲介質(zhì)。備份設(shè)備可以是硬盤文件(disk)、磁帶(tape)和命名管道(pipe)。其中,硬盤文件是最常用的備份介質(zhì)。SQLServer2005只支持將數(shù)據(jù)庫備份到本地磁帶機,而不是網(wǎng)絡(luò)上的遠(yuǎn)程磁帶機。當(dāng)使用磁盤時,SQLServer2005允許將本地主機硬盤和遠(yuǎn)程主機上的硬盤作為備份設(shè)備,備份設(shè)備在硬盤中是以文件形式存在的。

3.備份類型

在SQLServer2005中,備份類型主要包括:

(1)完全備份:對數(shù)據(jù)庫整體的備份。

(2)差異備份:對數(shù)據(jù)庫自前一個完全備份后改動部分的備份。

(3)事務(wù)日志備份:對數(shù)據(jù)庫事務(wù)日志的備份。利用事務(wù)日志備份,可以將數(shù)據(jù)庫還原到任意時刻。

(4)文件或文件組備份:對組成數(shù)據(jù)庫的數(shù)據(jù)文件的備份。

4.使用SQL語句

(1)創(chuàng)建備份設(shè)備。創(chuàng)建備份設(shè)備可以通過執(zhí)行系統(tǒng)存儲過程sp_addumpdevice實現(xiàn)。其基本語法格式為:

sp_addumpdevice<設(shè)備介質(zhì)>,<備份設(shè)備名>,<物理文件>

(2)數(shù)據(jù)庫完全備份。數(shù)據(jù)庫完全備份語句的基本語法格式為:

BACKUPDATABASE<數(shù)據(jù)庫名>TO<備份設(shè)備名>

(3)數(shù)據(jù)庫差異備份。數(shù)據(jù)庫差異備份語句的基本語法格式為:

BACKUPDATABASE<數(shù)據(jù)庫名>TO<備份設(shè)備名>WITHDIFFERENTIAL

(4)事務(wù)日志備份。事務(wù)日志備份語句的基本語法格式為:

BACKUPLOG<數(shù)據(jù)庫名>TO<備份設(shè)備名>實例7-1

制作數(shù)據(jù)庫student的備份。

在查詢編輯器中輸入SQL語句并執(zhí)行。如圖7-1所示。圖7-1備份數(shù)據(jù)庫student

5.使用SQL-MS

1)創(chuàng)建備份設(shè)備

(1)啟動SQL-MS,展開左側(cè)窗口指定數(shù)據(jù)庫服務(wù)器“服務(wù)器對象”文件夾,右鍵單擊“備份設(shè)備”節(jié)點,如圖7-2所示。

(2)選擇“新建備份設(shè)備”命令,打開“備份設(shè)備”對話框,如圖7-3所示。

(3)在“設(shè)備名稱”輸入框中輸入備份設(shè)備名,在“文件”輸入框指定備份設(shè)備名所對應(yīng)的物理文件名。單擊“確定”按鈕,完成創(chuàng)建備份設(shè)備。如果在SQL-MS中單擊“備份設(shè)備”節(jié)點,可以查看備份設(shè)備,如圖7-4所示。圖7-2選擇“新建備份設(shè)備”命令圖7-3“備份設(shè)備”對話框圖7-4“查看備份設(shè)備”窗口

2)備份數(shù)據(jù)庫

(1)啟動SQL-MS,指向左側(cè)窗口要備份的數(shù)據(jù)庫節(jié)點,單擊右鍵,打開快捷菜單,選擇“任務(wù)”→“備份”命令,打開“備份數(shù)據(jù)庫”對話框,如圖7-5所示。

(2)按需要設(shè)置備份類型。單擊“添加”按鈕,打開“選擇備份目標(biāo)”對話框,如圖7-6所示。

(3)可以在“文件名”輸入框中指定備份的物理文件名,也可以在“備份設(shè)備”輸入框中指定備份的備份設(shè)備名。單擊“確定”按鈕,返回“SQLServer備份”對話框。

(4)設(shè)置備份的各項參數(shù),單擊“確定”按鈕,完成備份。圖7-5“備份數(shù)據(jù)庫”對話框圖7-6“選擇備份目標(biāo)”對話框7.1.2數(shù)據(jù)庫的還原

1.還原的概念

數(shù)據(jù)庫的還原是指將數(shù)據(jù)庫的備份加載到系統(tǒng)中。還原是與備份相對應(yīng)的操作。備份是還原的基礎(chǔ),沒有備份就無法還原。一般來說,因為備份是在系統(tǒng)正常的情況下執(zhí)行的操作,而還原是在系統(tǒng)非正常情況下執(zhí)行的操作,所以還原相對要比備份復(fù)雜。

2.還原模型

在SQLServer2005中,有三種數(shù)據(jù)庫還原模型:簡單還原(SimpleRecovery)、完全還原(FullRecovery)和大容量日志記錄還原(Bulk-loggedRecovery)。

在SQL-MS中,指向指定數(shù)據(jù)庫節(jié)點,單擊右鍵,選擇“屬性”命令,打開“數(shù)據(jù)庫屬性”對話框,單擊“選項”選項卡,可以查看和修改數(shù)據(jù)庫還原模型,如圖7-7所示。

3.使用SQL語句

(1)從數(shù)據(jù)庫備份中還原。從數(shù)據(jù)庫備份中還原數(shù)據(jù)庫語句的基本語法格式為:

RESTOREDATABASE<數(shù)據(jù)庫名>FROM<備份設(shè)

備名>[WITHNORECOVERY]

其中,要繼續(xù)從差異備份、事務(wù)日志備份中還原數(shù)據(jù),必須帶參數(shù)WITHNORECOVERY。圖7-7“數(shù)據(jù)庫屬性”對話框中的“選項”選項卡

(2)從事務(wù)日志備份中還原。從事務(wù)日志備份中還原數(shù)據(jù)庫語句的基本語法格式為:

RESTORELOG<數(shù)據(jù)庫名>FROM<備份設(shè)備名>

[WITHNORECOVERY]

其中,要繼續(xù)從后續(xù)事務(wù)日志備份中還原數(shù)據(jù)必須帶參數(shù)WITHNORECOVERY。

實例7-2

用實例7-1制作的數(shù)據(jù)庫student的備份還原數(shù)據(jù)庫student。

在查詢編輯器中輸入SQL語句并執(zhí)行,如圖7-8所示。圖7-8還原數(shù)據(jù)庫student

(3)從指定還原點還原。從指定還原點還原數(shù)據(jù)庫語句的基本語法格式為:

RESTORELOG<數(shù)據(jù)庫名>FROM<備份設(shè)備名>

WITHRECOVERY,STOPAT=‘<日期><時間>’

實例7-3

按步驟完成以下操作,其中的注釋語句指定的操作可以在SQL-MS中進(jìn)行,其余語句可以在查詢編輯器中執(zhí)行。本例說明如何使用事務(wù)日志備份將數(shù)據(jù)庫還原至任一時間點。sp_addumpdevice'disk','s_mdf','d:\example\s_mdf.bak'

GO

sp_addumpdevice'disk','s_log1','d:\example\s_log1.bak'

GO

sp_addumpdevice'disk','s_log2','d:\example\s_log2.bak'

GO

BACKUPDATABASEstudentTOs_mdf

--對數(shù)據(jù)庫student進(jìn)行了修改1

BACKUPLOGstudentTOs_log1

--對數(shù)據(jù)庫student進(jìn)行了修改2

--對數(shù)據(jù)庫student進(jìn)行了修改3(設(shè)時間為2005-6-1716:38:00)

--對數(shù)據(jù)庫student進(jìn)行了修改4BACKUPLOGstudentTOs_log2

RESTOREDATABASEstudentFROMs_mdfWITHnorecovery

RESTORELOGstudentFROMs_log1WITHnorecovery

RESTORELOGstudentFROMs_log2WITHrecovery,stopat='2009-03-1716:38PM'

將數(shù)據(jù)庫student還原至2009-3-1716:38:00時的狀態(tài)。

4.使用SQL-MS

(1)啟動SQL-MS,指向左側(cè)窗口要備份的“數(shù)據(jù)庫”節(jié)點,單擊右鍵,打開快捷菜單,選擇“任務(wù)”→“還原”→“數(shù)據(jù)庫”命令,打開“還原數(shù)據(jù)庫”對話框,如圖7-9所示。

(2)選擇所要還原的目標(biāo)數(shù)據(jù)庫,并且可以設(shè)置還原目標(biāo)的時間點。選擇還原的源數(shù)據(jù)庫或者選中“源設(shè)備”選項,可以選擇從指定備份設(shè)備還原數(shù)據(jù)庫。要選擇的備份集可以同時選擇“完整”、“差異”和“事務(wù)日志”,也可以選擇其中的任何一個。

(3)在“選項”窗口中,配置“還原選項”和“恢復(fù)狀態(tài)”,如圖7-10所示。

(4)單擊“確定”按鈕,完成還原。圖7-9“還原數(shù)據(jù)庫”對話框圖7-10“選項”窗口

7.2附?加?數(shù)?據(jù)?庫

1.使用SQL語句

附加數(shù)據(jù)庫可以通過執(zhí)行系統(tǒng)存儲過程sp_attach_db實現(xiàn)。其基本語法格式為:

sp_attach_db‘<數(shù)據(jù)庫名>’,‘<數(shù)據(jù)文件名>’,‘<事務(wù)日志文件名>’

實例7-4

對數(shù)據(jù)庫student進(jìn)行附加操作。

(1)打開“我的電腦”,將d:\example\student_data.mdf和d:\example\student_log.ldf復(fù)制到d:\。

(2)刪除數(shù)據(jù)庫student。

(3)將d:\下的student_data.mdf和student_log.ldf復(fù)制到d:\example。

(4)啟動“新建查詢”,輸入SQL語句,如圖7-11所示。

(5)單擊“執(zhí)行”按鈕,完成數(shù)據(jù)庫附加。圖7-11附加數(shù)據(jù)庫student

2.使用SQL-MS

(1)啟動SQL-MS,指向左側(cè)窗口“數(shù)據(jù)庫”節(jié)點,單擊右鍵,打開快捷菜單,選擇“附加”命令,打開“附加數(shù)據(jù)庫”對話框,如圖7-12所示。

(2)單擊“添加”按鈕,打開“定位數(shù)據(jù)庫文件”對話框,選擇要附加的數(shù)據(jù)庫文件,如圖7-13所示。

(3)單擊“確定”按鈕,完成數(shù)據(jù)庫附加。圖7-12“附加數(shù)據(jù)庫”對話框圖7-13“選擇附加數(shù)據(jù)庫文件”對話框

7.3數(shù)據(jù)庫數(shù)據(jù)導(dǎo)入與導(dǎo)出

7.3.1數(shù)據(jù)導(dǎo)入/導(dǎo)出

1.數(shù)據(jù)導(dǎo)出

實例7-5

將數(shù)據(jù)庫student中的數(shù)據(jù)導(dǎo)入到Access的數(shù)據(jù)庫student_access中。

(1)啟動“MicrosoftAccess”,創(chuàng)建一個新的空數(shù)據(jù)庫student_access。

(2)啟動SQL-MS,指向左側(cè)窗口要導(dǎo)出數(shù)據(jù)的數(shù)據(jù)庫節(jié)點,此處為student節(jié)點。單擊右鍵,打開快捷菜單,選擇“任務(wù)”→“導(dǎo)出數(shù)據(jù)”命令,打開“SQLServer導(dǎo)入和導(dǎo)出向?qū)А贝翱?,如圖7-14所示。圖7-14“SQLServer導(dǎo)入和導(dǎo)出向?qū)А贝翱?/p>

(3)單擊“下一步”按鈕,打開“選擇數(shù)據(jù)源”窗口,如圖7-15所示。圖7-15“選擇數(shù)據(jù)源”窗口

(4)在“數(shù)據(jù)源”框中選擇數(shù)據(jù)源類型,此處為SQLNativeClient。在“數(shù)據(jù)庫”框中選擇源數(shù)據(jù)庫,此處為student。單擊“下一步”按鈕,打開“選擇目標(biāo)”窗口,如圖7-16所示。圖7-16“選擇目標(biāo)”窗口

(5)在“目標(biāo)”框中選擇導(dǎo)出數(shù)據(jù)的數(shù)據(jù)格式類型,此處為MicrosoftAccess。在“文件名”框中指定目標(biāo)文件,此處為d:\example\student_access.mdb。由于訪問Access數(shù)據(jù)庫可以不需要用戶名和密碼,因此“用戶名”以及“密碼”可以為空。單擊“下一步”按鈕,打開“指定表復(fù)制或查詢”窗口,如圖7-17所示。

(6)選擇導(dǎo)出數(shù)據(jù)的數(shù)據(jù)來源,此處為“復(fù)制一個或多個表或視圖的數(shù)據(jù)”。單擊“下一步”按鈕,打開“選擇源表和源視圖”窗口,如圖7-18所示。圖7-17“指定表復(fù)制或查詢”窗口圖7-18“選擇源表和源視圖”窗口

(7)選擇導(dǎo)出數(shù)據(jù)的表,此處為導(dǎo)出所有表中的數(shù)據(jù),故單擊“全選”按鈕。單擊“下一步”按鈕,打開“保存并執(zhí)行包”窗口,如圖7-19所示。

(8)選擇是否立即導(dǎo)出數(shù)據(jù)和是否保存SSIS包并指定執(zhí)行計劃,此處選擇“立即運行”。單擊“下一步”按鈕,打開“完成該向?qū)А贝翱?,如圖7-20所示。

(9)單擊“完成”按鈕,打開“正在執(zhí)行操作”窗口,如圖7-21所示。圖7-19“保存并執(zhí)行”窗口圖7-20“完成該向?qū)А贝翱趫D7-21“正在執(zhí)行操作”窗口

(10)執(zhí)行成功后,單擊“關(guān)閉”按鈕,完成數(shù)據(jù)導(dǎo)出,如圖7-22所示。圖7-22“執(zhí)行成功”窗口

2.數(shù)據(jù)導(dǎo)入

實例7-6

將Access的數(shù)據(jù)庫student_access中的數(shù)據(jù)導(dǎo)入到數(shù)據(jù)庫student中。

(1)啟動SQL-MS,指向左側(cè)窗口要導(dǎo)入數(shù)據(jù)的數(shù)據(jù)庫節(jié)點,此處為student節(jié)點。單擊右鍵,打開快捷菜單,選擇“任務(wù)”→“導(dǎo)入數(shù)據(jù)”命令,打開“SQL導(dǎo)入和導(dǎo)出向?qū)А贝翱?,參見圖7-14。

(2)單擊“下一步”按鈕,打開“選擇數(shù)據(jù)源”對話框。在“數(shù)據(jù)源”框中選擇數(shù)據(jù)源類型,此處為MicrosoftAccess。在“文件名”框中指定目標(biāo)文件,此處為d:\example\student_

access.mdb,參見圖7-16。單擊“下一步”按鈕,打開“選擇目標(biāo)”窗口。

(3)在“目標(biāo)”框中選擇導(dǎo)出數(shù)據(jù)的數(shù)據(jù)格式類型,此處為“用于SQLNativeClient”。在“數(shù)據(jù)庫”框中選擇源數(shù)據(jù)庫,此處為student,參見圖7-15。單擊“下一步”按鈕,打開“指定表復(fù)制或查詢”窗口,參見圖7-17。

(4)選擇導(dǎo)入數(shù)據(jù)的數(shù)據(jù)來源,此處為“復(fù)制一個或多個表或視圖的數(shù)據(jù)”。單擊“下一步”按鈕,打開“選擇源表和源視圖”窗口,參見圖7-18。

(5)選擇導(dǎo)入數(shù)據(jù)的表,此處為導(dǎo)出所有表中的數(shù)據(jù),故單擊“全選”按鈕。單擊“下一步”按鈕,打開“保存并執(zhí)行包”窗口,參見圖7-19。

(6)選擇是否立即導(dǎo)出數(shù)據(jù)和是否存儲SSIS包并指定執(zhí)行計劃,此處選擇“立即運行”。單擊“下一步”按鈕,打開“完成該向?qū)А睂υ捒?,參見圖7-20。

(7)單擊“完成”按鈕,完成數(shù)據(jù)導(dǎo)入。7.3.2利用數(shù)據(jù)導(dǎo)入/導(dǎo)出轉(zhuǎn)移數(shù)據(jù)庫

使用數(shù)據(jù)導(dǎo)入/導(dǎo)出,也可以完成在不同數(shù)據(jù)庫服務(wù)器之間轉(zhuǎn)移數(shù)據(jù)庫,盡管不常用。實際上,附加數(shù)據(jù)庫是SQLServer2005新增功能,在SQLServer2005前期版本中,可以使用數(shù)據(jù)導(dǎo)入/導(dǎo)出完成在不同數(shù)據(jù)庫服務(wù)器之間轉(zhuǎn)移數(shù)據(jù)庫。

(1)復(fù)制數(shù)據(jù)庫結(jié)構(gòu)。在SQL-MS中,指向左側(cè)窗口要復(fù)制的源數(shù)據(jù)庫節(jié)點,單擊右鍵,打開快捷菜單,選擇“任務(wù)”→“生成腳本”命令,生

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論