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

下載本文檔

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

文檔簡(jiǎn)介

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

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

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

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

1.備份的概念

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

2.備份設(shè)備

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

3.備份類型

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

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

(2)差異備份:對(duì)數(shù)據(jù)庫(kù)自前一個(gè)完全備份后改動(dòng)部分的備份。

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

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

4.使用SQL語句

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

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

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

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

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

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

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

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

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

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

5.使用SQL-MS

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

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

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

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

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

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

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

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

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

1.還原的概念

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

2.還原模型

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

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

3.使用SQL語句

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

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

備名>[WITHNORECOVERY]

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

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

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

[WITHNORECOVERY]

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

實(shí)例7-2

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

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

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

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

WITHRECOVERY,STOPAT=‘<日期><時(shí)間>’

實(shí)例7-3

按步驟完成以下操作,其中的注釋語句指定的操作可以在SQL-MS中進(jìn)行,其余語句可以在查詢編輯器中執(zhí)行。本例說明如何使用事務(wù)日志備份將數(shù)據(jù)庫(kù)還原至任一時(shí)間點(diǎn)。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

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

BACKUPLOGstudentTOs_log1

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

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

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

RESTOREDATABASEstudentFROMs_mdfWITHnorecovery

RESTORELOGstudentFROMs_log1WITHnorecovery

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

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

4.使用SQL-MS

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

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

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

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

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

1.使用SQL語句

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

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

實(shí)例7-4

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

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

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

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

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

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

2.使用SQL-MS

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

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

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

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

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

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

實(shí)例7-5

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

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

(2)啟動(dòng)SQL-MS,指向左側(cè)窗口要導(dǎo)出數(shù)據(jù)的數(shù)據(jù)庫(kù)節(jié)點(diǎn),此處為student節(jié)點(diǎn)。單擊右鍵,打開快捷菜單,選擇“任務(wù)”→“導(dǎo)出數(shù)據(jù)”命令,打開“SQLServer導(dǎo)入和導(dǎo)出向?qū)А贝翱冢鐖D7-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ù)庫(kù)”框中選擇源數(shù)據(jù)庫(kù),此處為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ù)庫(kù)可以不需要用戶名和密碼,因此“用戶名”以及“密碼”可以為空。單擊“下一步”按鈕,打開“指定表復(fù)制或查詢”窗口,如圖7-17所示。

(6)選擇導(dǎo)出數(shù)據(jù)的數(shù)據(jù)來源,此處為“復(fù)制一個(gè)或多個(gè)表或視圖的數(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í)行計(jì)劃,此處選擇“立即運(yùn)行”。單擊“下一步”按鈕,打開“完成該向?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)入

實(shí)例7-6

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

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

(2)單擊“下一步”按鈕,打開“選擇數(shù)據(jù)源”對(duì)話框。在“數(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ù)庫(kù)”框中選擇源數(shù)據(jù)庫(kù),此處為student,參見圖7-15。單擊“下一步”按鈕,打開“指定表復(fù)制或查詢”窗口,參見圖7-17。

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

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

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

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

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

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

溫馨提示

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

評(píng)論

0/150

提交評(píng)論