第13章數(shù)據(jù)庫備份與還原_第1頁
第13章數(shù)據(jù)庫備份與還原_第2頁
第13章數(shù)據(jù)庫備份與還原_第3頁
第13章數(shù)據(jù)庫備份與還原_第4頁
第13章數(shù)據(jù)庫備份與還原_第5頁
已閱讀5頁,還剩49頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第第1313章章 數(shù)據(jù)庫的備份與還原數(shù)據(jù)庫的備份與還原 第第1313章章 數(shù)據(jù)庫的備份與還原數(shù)據(jù)庫的備份與還原l1. 概述l2. 數(shù)據(jù)庫備份方式l3. 備份設(shè)備l4. 數(shù)據(jù)庫備份l4.1 完整備份l4.2 差異備份l4.3 事物日志備份l4.4 文件、文件組備份l5. 數(shù)據(jù)庫還原l6. 數(shù)據(jù)庫的分離和附加13.1 13.1 概述概述親,你有沒有遇到過這樣的事情?13.1 13.1 概述概述親,你有沒有遇到過這樣的事情?13.1 13.1 概述概述親,你有沒有遇到過這樣的事情?數(shù)據(jù)丟失問題時有發(fā)生!數(shù)據(jù)丟失帶來的就是-13.1 13.1 概述概述數(shù)據(jù)庫中的數(shù)據(jù)損失或被破壞的原因主要包括:數(shù)據(jù)庫中

2、的數(shù)據(jù)損失或被破壞的原因主要包括:(1 1)儲存介質(zhì)故障)儲存介質(zhì)故障(2 2)服務(wù)器崩潰故障)服務(wù)器崩潰故障(3 3)用戶錯誤操作)用戶錯誤操作(4 4)計算機病毒)計算機病毒(5 5)自然災(zāi)害)自然災(zāi)害如何防止數(shù)據(jù)丟失的發(fā)生?如何防止數(shù)據(jù)丟失的發(fā)生?-數(shù)據(jù)備份!數(shù)據(jù)備份!13.113.1概述概述 數(shù)據(jù)庫備份實際上就是對數(shù)據(jù)庫備份實際上就是對SQL ServerSQL Server數(shù)據(jù)庫數(shù)據(jù)庫或或事務(wù)日事務(wù)日志志進行備份,備份文件中記錄了當前數(shù)據(jù)庫中所有數(shù)據(jù)的進行備份,備份文件中記錄了當前數(shù)據(jù)庫中所有數(shù)據(jù)的狀態(tài)。狀態(tài)。如果數(shù)據(jù)庫受損,可以通過這些備份文件將數(shù)據(jù)庫還如果數(shù)據(jù)庫受損,可以通過這些

3、備份文件將數(shù)據(jù)庫還原出來,從而達到原出來,從而達到降低系統(tǒng)風險降低系統(tǒng)風險的目的。的目的。數(shù)據(jù)庫備份與還原技術(shù)是數(shù)據(jù)庫管理員(數(shù)據(jù)庫備份與還原技術(shù)是數(shù)據(jù)庫管理員(DBADBA)必須掌)必須掌握的核心技術(shù)之一。握的核心技術(shù)之一。13.213.2數(shù)據(jù)庫備份方式數(shù)據(jù)庫備份方式lSQL Server 2008SQL Server 2008提供了提供了3 3種數(shù)據(jù)庫備份方式種數(shù)據(jù)庫備份方式: :1 1完整備份完整備份(1 1)完整數(shù)據(jù)庫備份)完整數(shù)據(jù)庫備份(2 2)完整文件備份)完整文件備份2 2差異備份差異備份(1 1)差異數(shù)據(jù)庫備份)差異數(shù)據(jù)庫備份(2 2)差異文件備份)差異文件備份3 3事務(wù)日志備

4、份事務(wù)日志備份1 1完整備份完整備份l(1)完整數(shù)據(jù)庫備份l對整個數(shù)據(jù)庫進行備份。l該備份方式需要較大的存儲空間來存儲備份文件,備份時間也比較長,還原操作也需要較長的時間。l(2)完整文件備份l指備份一個或多個文件或文件組中的所有數(shù)據(jù)。l使用文件備份使您能夠只還原損壞的文件,而不用還原數(shù)據(jù)庫的其余部分,從而加快了恢復(fù)速度。例如,如果數(shù)據(jù)庫由位于不同磁盤上的若干個文件組成,在其中一個磁盤發(fā)生故障時,只需還原故障磁盤上的文件。 2 2差異備份差異備份l(1)差異數(shù)據(jù)庫備份l只記錄自上次完整數(shù)據(jù)庫備份后更改的數(shù)據(jù)。此完整備份稱為“差異基準”。l差異數(shù)據(jù)庫備份比完整數(shù)據(jù)庫備份更小、更快。這會縮短備份時

5、間。l如果數(shù)據(jù)庫的某個子集比該數(shù)據(jù)庫的其余部分修改得更為頻繁,則差異數(shù)據(jù)庫備份特別有用。2 2差異備份差異備份l(2)差異文件備份l差異文件備份為創(chuàng)建當前文件備份提供了一種快速并且節(jié)省空間的方式。l在使用差異文件備份時,只備份某個文件的和基準備份的差異部分,因而可以極大地縮短恢復(fù)時間。l對于以下情況,可以考慮使用差異文件備份:文件組中有些文件備份頻率低于其他文件的備份頻率。文件很大而且數(shù)據(jù)不常更新;或者反復(fù)更新相同數(shù)據(jù)。3 3事務(wù)日志備份事務(wù)日志備份l定期備份事務(wù)日志,即備份從最后一次完整備份之后的所有數(shù)據(jù)庫操作。l在創(chuàng)建第一個事物日志備份之前,必須先創(chuàng)建完整備份。l使用日志備份,可以將數(shù)據(jù)庫

6、恢復(fù)到故障點或特定的時點。13.3備份設(shè)備備份設(shè)備備份設(shè)備是用來存儲數(shù)據(jù)庫事務(wù)日志、數(shù)據(jù)文件或文件組是用來存儲數(shù)據(jù)庫事務(wù)日志、數(shù)據(jù)文件或文件組的的存儲介質(zhì)存儲介質(zhì),可以是硬盤或磁帶等。,可以是硬盤或磁帶等。在進行數(shù)據(jù)庫備份之前首先必須在進行數(shù)據(jù)庫備份之前首先必須創(chuàng)建備份設(shè)備創(chuàng)建備份設(shè)備。l物理設(shè)備與邏輯設(shè)備物理設(shè)備與邏輯設(shè)備 SQL Server SQL Server使用使用物理設(shè)備名稱物理設(shè)備名稱或或邏輯設(shè)備名稱邏輯設(shè)備名稱標識備份設(shè)標識備份設(shè)備。備。物理備份設(shè)備名稱物理備份設(shè)備名稱是操作系統(tǒng)用來標識備份設(shè)備的名是操作系統(tǒng)用來標識備份設(shè)備的名稱。稱。 例如,磁盤設(shè)備名稱例如,磁盤設(shè)備名稱d:

7、backupfile.bakd:backupfile.bak。邏輯備份設(shè)備名稱邏輯備份設(shè)備名稱是用來標識物理備份設(shè)備的別名或是用來標識物理備份設(shè)備的別名或公用名稱。公用名稱。13.3備份設(shè)備1 1創(chuàng)建備份設(shè)備創(chuàng)建備份設(shè)備- -圖形界面創(chuàng)建圖形界面創(chuàng)建l創(chuàng)建備份設(shè)備的步驟如下:創(chuàng)建備份設(shè)備的步驟如下: (1 1)啟動)啟動“SQL Server Management StudioSQL Server Management Studio”,在,在“對象資源管理器對象資源管理器”窗口里展開窗口里展開“服務(wù)器對象服務(wù)器對象”樹型目錄,鼠標右鍵單擊樹型目錄,鼠標右鍵單擊“備份設(shè)備備份設(shè)備”,如圖如圖13

8、.113.1所示。所示。13.3備份設(shè)備(2 2)在彈出的快捷菜單里選擇)在彈出的快捷菜單里選擇“新建備份設(shè)備新建備份設(shè)備”選項,彈出選項,彈出如圖如圖13.213.2所示所示“新建備份設(shè)備新建備份設(shè)備”對話框。對話框。13.3備份設(shè)備(3 3)在)在“設(shè)備名稱設(shè)備名稱”文本框里鍵入備份設(shè)備的名稱。文本框里鍵入備份設(shè)備的名稱。(4 4)在)在“文件文件”文本框里鍵入備份設(shè)備的路徑和文件名,由文本框里鍵入備份設(shè)備的路徑和文件名,由此可見,此可見,SQL Server 2008SQL Server 2008中的備份設(shè)備事實上也只是一個中的備份設(shè)備事實上也只是一個文件而已。文件而已。(5 5)設(shè)置完

9、畢后,單擊)設(shè)置完畢后,單擊“確定確定”按鈕,開始創(chuàng)建備份設(shè)備操按鈕,開始創(chuàng)建備份設(shè)備操作。作。注意:備份設(shè)備,創(chuàng)建好之后在操作系統(tǒng)中看不到,只有備注意:備份設(shè)備,創(chuàng)建好之后在操作系統(tǒng)中看不到,只有備份過數(shù)據(jù)之后才能看到。份過數(shù)據(jù)之后才能看到。13.3備份設(shè)備1 1創(chuàng)建備份設(shè)備創(chuàng)建備份設(shè)備-SQL-SQL語言創(chuàng)建語言創(chuàng)建SQL Server 2008SQL Server 2008還提供了一個名為還提供了一個名為“sp_addumpdevicesp_addumpdevice”的存的存儲過程可以創(chuàng)建數(shù)據(jù)庫備份設(shè)備,其語法代碼如下:儲過程可以創(chuàng)建數(shù)據(jù)庫備份設(shè)備,其語法代碼如下:sp_addumpde

10、vice devtype = device_type sp_addumpdevice devtype = device_type , logicalname = logical_name , logicalname = logical_name , physicalname = physical_name, physicalname = physical_name主要參數(shù)說明:主要參數(shù)說明:ldevtypedevtype:設(shè)備類型,可以支持的值為:設(shè)備類型,可以支持的值為diskdisk和和tapetape,其中,其中diskdisk為磁盤為磁盤文件;文件;tapetape為為windowsw

11、indows支持的任何磁帶設(shè)備。支持的任何磁帶設(shè)備。llogicalnamelogicalname:備份設(shè)備的邏輯名稱,相當于圖:備份設(shè)備的邏輯名稱,相當于圖13.113.1中的中的【設(shè)備名設(shè)備名稱稱】。lphysicalnamephysicalname:備份設(shè)備的物理名稱,相當于圖:備份設(shè)備的物理名稱,相當于圖13.113.1中的中的【文件文件】。13.3備份設(shè)備【例例13.113.1】創(chuàng)建一個名為創(chuàng)建一個名為“學(xué)生成績學(xué)生成績”的磁盤備份設(shè)備。的磁盤備份設(shè)備。sp_addumpdevice sp_addumpdevice disk,disk, 學(xué)生成績學(xué)生成績,D:D:學(xué)生成績學(xué)生成績.b

12、ak.bak13.3備份設(shè)備SQL Server 2008SQL Server 2008還提供了一個名為還提供了一個名為“sp_dropdevicesp_dropdevice”的存儲的存儲過程可以刪除庫備份設(shè)備,其語法代碼如下:過程可以刪除庫備份設(shè)備,其語法代碼如下:sp_dropdevice logicalname = devicesp_dropdevice logicalname = device, delfile = delfile, delfile = delfile主要參數(shù)說明:主要參數(shù)說明:logicalname logicalname 表示備份設(shè)備的邏輯名稱。表示備份設(shè)備的邏輯名

13、稱。delfile delfile 表示物理備份設(shè)備文件。表示物理備份設(shè)備文件?!纠?3.213.2】刪除名為刪除名為“學(xué)生成績學(xué)生成績”的備份設(shè)備。的備份設(shè)備。sp_dropdevice sp_dropdevice 學(xué)生成績學(xué)生成績 13.413.4數(shù)據(jù)庫備份數(shù)據(jù)庫備份一、備份數(shù)據(jù)庫一、備份數(shù)據(jù)庫1.1.完整備份數(shù)據(jù)庫完整備份數(shù)據(jù)庫用完整備份數(shù)據(jù)庫進行數(shù)據(jù)庫還原用完整備份數(shù)據(jù)庫進行數(shù)據(jù)庫還原2.2.差異備份數(shù)據(jù)庫差異備份數(shù)據(jù)庫用差異備份數(shù)據(jù)庫進行數(shù)據(jù)庫還原用差異備份數(shù)據(jù)庫進行數(shù)據(jù)庫還原3. 3. 事物日志備份數(shù)據(jù)庫事物日志備份數(shù)據(jù)庫用事物日志備份數(shù)據(jù)庫進行數(shù)據(jù)庫還原用事物日志備份數(shù)據(jù)庫進行

14、數(shù)據(jù)庫還原二、備份數(shù)據(jù)庫文件二、備份數(shù)據(jù)庫文件用數(shù)據(jù)庫文件備份還原數(shù)據(jù)庫用數(shù)據(jù)庫文件備份還原數(shù)據(jù)庫13.413.4數(shù)據(jù)庫備份數(shù)據(jù)庫備份1 1通過通過SQL Server Management StudioSQL Server Management Studio實現(xiàn)完全備份實現(xiàn)完全備份(1 1)啟動)啟動“SQL Server Management StudioSQL Server Management Studio”,在,在“對象資源管理器對象資源管理器”窗口里展窗口里展開開“數(shù)據(jù)庫數(shù)據(jù)庫”目錄,鼠標右鍵單擊目錄,鼠標右鍵單擊“CJGLCJGL”,在彈出的快捷菜單里選擇,在彈出的快捷菜單里選擇

15、“任任務(wù)務(wù)”,如圖,如圖13.513.5所示。所示。13.413.4數(shù)據(jù)庫備份數(shù)據(jù)庫備份1 1通過通過SQL Server Management StudioSQL Server Management Studio實現(xiàn)完全備份實現(xiàn)完全備份(2 2)單擊菜單項)單擊菜單項“備份備份”,彈出如圖,彈出如圖13.613.6所示所示“備份數(shù)據(jù)庫備份數(shù)據(jù)庫”對話框。對話框。13.413.4數(shù)據(jù)庫備份數(shù)據(jù)庫備份(3 3)在)在“備份類型備份類型”,下拉列表框里選擇,下拉列表框里選擇“完整完整”。(4 4)在圖)在圖13.613.6所示對話框里單擊所示對話框里單擊“選項選項”標簽,彈出如圖標簽,彈出如圖13

16、.713.7所示的所示的“選項選項”對對話框,根據(jù)需要設(shè)置以下各種選項:話框,根據(jù)需要設(shè)置以下各種選項: 13.413.4數(shù)據(jù)庫備份數(shù)據(jù)庫備份(5 5)單擊)單擊“確定確定”按鈕,按鈕, SQL Server 2008SQL Server 2008開始執(zhí)行備份操開始執(zhí)行備份操作。作。13.413.4數(shù)據(jù)庫備份數(shù)據(jù)庫備份2 2使用使用Transact-SQLTransact-SQL語句進行完全備份語句進行完全備份BACKUP DATABASE database_name | database_name_var BACKUP DATABASE database_name | database_na

17、me_var TO ,.n TO ,.n 13.413.4數(shù)據(jù)庫備份數(shù)據(jù)庫備份【例例13.313.3】將數(shù)據(jù)庫將數(shù)據(jù)庫CJGLCJGL的完整備份到的完整備份到文件文件c:cjgl.bakc:cjgl.bak。 BACKUP DATABASE CJGL TO DISK = c:cjgl.bakBACKUP DATABASE CJGL TO DISK = c:cjgl.bak【例例13.413.4】將數(shù)據(jù)庫將數(shù)據(jù)庫CJGLCJGL的數(shù)據(jù)完全備份到名為的數(shù)據(jù)完全備份到名為“學(xué)生成績學(xué)生成績管理備份設(shè)備管理備份設(shè)備”的的備份設(shè)備備份設(shè)備上。上。 BACKUP DATABASE CJGL TO BACK

18、UP DATABASE CJGL TO 學(xué)生成績管理備份設(shè)備學(xué)生成績管理備份設(shè)備13.413.4數(shù)據(jù)庫備份數(shù)據(jù)庫備份l差異備份差異備份1.1.通過通過SQL Server Management StudioSQL Server Management Studio實現(xiàn)差異備實現(xiàn)差異備份份l(1 1)按照完全備份中的相同步驟,打開如圖)按照完全備份中的相同步驟,打開如圖13.6 13.6 所示的所示的“備份數(shù)據(jù)庫備份數(shù)據(jù)庫”對話框。對話框。l(2 2)在)在“備份類型備份類型”下拉列表框里選擇下拉列表框里選擇“差異差異”。l(3 3)根據(jù)需要設(shè)置其他選項。)根據(jù)需要設(shè)置其他選項。l(4 4)單擊)

19、單擊“確定確定”按鈕,按鈕,SQL Server 2008SQL Server 2008開始執(zhí)開始執(zhí)行備份操作。行備份操作。13.413.4數(shù)據(jù)庫備份數(shù)據(jù)庫備份2 2使用使用Transact-SQLTransact-SQL語句進行差異備份。語句進行差異備份。差異備份語法同完全備份的語法,在此不再贅述:差異備份語法同完全備份的語法,在此不再贅述:【例例13.513.5】將數(shù)據(jù)庫將數(shù)據(jù)庫CJGLCJGL的差異數(shù)據(jù)備份到文件的差異數(shù)據(jù)備份到文件c:cjgl.bakc:cjgl.bak中。中。 BACKUP DATABASE CJGL TO DISK= BACKUP DATABASE CJGL TO

20、DISK=c:cjgl.bakc:cjgl.bak WITHWITH DIFFERENTIAL DIFFERENTIAL13.413.4數(shù)據(jù)庫備份數(shù)據(jù)庫備份l事務(wù)日志備份事務(wù)日志備份1 1通過通過SQL Server Management StudioSQL Server Management Studio實現(xiàn)事務(wù)日志備份實現(xiàn)事務(wù)日志備份l(1 1)按照完全備份中的相同步驟,打開如圖)按照完全備份中的相同步驟,打開如圖13.613.6所示的所示的“備份數(shù)據(jù)庫備份數(shù)據(jù)庫”對話框。對話框。l(2 2)在)在“備份類型備份類型”下拉列表框里選擇下拉列表框里選擇“事務(wù)日志事務(wù)日志”。l(3 3)根據(jù)需

21、要設(shè)置其他選項。)根據(jù)需要設(shè)置其他選項。l(4 4)單擊)單擊“確定確定”按鈕,按鈕,SQL Server 2008SQL Server 2008開始執(zhí)行備份開始執(zhí)行備份操作。操作。13.413.4數(shù)據(jù)庫備份數(shù)據(jù)庫備份2 2使用使用Transact-SQLTransact-SQL語句進行事務(wù)日志備份。語句進行事務(wù)日志備份。事務(wù)日志備份語法代碼如下:事務(wù)日志備份語法代碼如下:BACKUP LOG database_name | database_name_var BACKUP LOG database_name | database_name_var TO ,.n TO ,.n 從以上代碼可以看

22、出,事務(wù)日志與完整備份的代碼大同小異,從以上代碼可以看出,事務(wù)日志與完整備份的代碼大同小異,只是將只是將BACKUP BATABASEBACKUP BATABASE改為了改為了BACKUP LOGBACKUP LOG。 13.413.4數(shù)據(jù)庫備份數(shù)據(jù)庫備份【例例13.613.6】將數(shù)據(jù)庫將數(shù)據(jù)庫CJGLCJGL的事務(wù)日志備份到文件的事務(wù)日志備份到文件c:cjgl_log.bakc:cjgl_log.bak中。中。 BACKUP LOG CJGL TO DISK = c:pubs_log.bak BACKUP LOG CJGL TO DISK = c:pubs_log.bakl注意注意: : 在

23、對數(shù)據(jù)庫實施事務(wù)日志備份之前,必須先進行數(shù)在對數(shù)據(jù)庫實施事務(wù)日志備份之前,必須先進行數(shù)據(jù)庫的完整備份操作。據(jù)庫的完整備份操作。13.513.5數(shù)據(jù)庫還原數(shù)據(jù)庫還原1 1通過通過SQL Server Management StudioSQL Server Management Studio進行數(shù)據(jù)庫還原進行數(shù)據(jù)庫還原的步驟如下:的步驟如下:l(1 1)啟動)啟動“SQL Server Management StudioSQL Server Management Studio”,展開,展開“對對象資源管理器象資源管理器”樹型目錄,鼠標右鍵單擊樹型目錄,鼠標右鍵單擊“數(shù)據(jù)庫數(shù)據(jù)庫”,在,在彈出的快捷

24、菜單里選擇彈出的快捷菜單里選擇“還原數(shù)據(jù)庫還原數(shù)據(jù)庫”,彈出如圖,彈出如圖13.1113.11所所示的示的“還原數(shù)據(jù)庫還原數(shù)據(jù)庫”對話框。對話框。13.513.5數(shù)據(jù)庫還原數(shù)據(jù)庫還原l(2 2)在)在“目標數(shù)據(jù)庫目標數(shù)據(jù)庫”下拉列表框里可以選擇或鍵入要還下拉列表框里可以選擇或鍵入要還原的數(shù)據(jù)庫名。原的數(shù)據(jù)庫名。l(3 3)如果備份文件或備份設(shè)備里的備份集很多的話,還可)如果備份文件或備份設(shè)備里的備份集很多的話,還可以選擇以選擇“目標時間點目標時間點”,只要有事務(wù)日志備份支持,可以,只要有事務(wù)日志備份支持,可以還原到某個時間的數(shù)據(jù)庫狀態(tài)。在默認情況下該項為還原到某個時間的數(shù)據(jù)庫狀態(tài)。在默認情況下

25、該項為“最最近狀態(tài)近狀態(tài)”。l(4 4)在)在“還原的源還原的源”區(qū)域里,指定用于還原的備份集的源區(qū)域里,指定用于還原的備份集的源和位置。和位置。13.513.5數(shù)據(jù)庫還原數(shù)據(jù)庫還原如果選擇如果選擇“源設(shè)備源設(shè)備”單選框,則要指定還原的備份文件或備單選框,則要指定還原的備份文件或備份份設(shè)備。點擊設(shè)備。點擊“”按鈕,彈出如圖按鈕,彈出如圖13.1213.12所示所示“指定備份指定備份”對對話話框。在框。在“備份媒體備份媒體”下拉列表框里可以選擇是備份文件還是下拉列表框里可以選擇是備份文件還是備備份設(shè)備,選擇完畢后單擊份設(shè)備,選擇完畢后單擊“添加添加”按鈕,將備份文件或備份按鈕,將備份文件或備份設(shè)

26、設(shè)備添加進來。備添加進來。 13.513.5數(shù)據(jù)庫還原數(shù)據(jù)庫還原單擊圖單擊圖13.1213.12中的確定按鈕,返回還原數(shù)據(jù)庫對話框,如圖中的確定按鈕,返回還原數(shù)據(jù)庫對話框,如圖13.1313.13所示。所示。13.513.5數(shù)據(jù)庫還原數(shù)據(jù)庫還原(3 3)如果沒有其他的需要,可以單擊)如果沒有其他的需要,可以單擊“確定確定”按鈕進行還原按鈕進行還原操作,也可以在圖操作,也可以在圖13.1313.13所示對話框里選擇所示對話框里選擇“選項選項”標簽,標簽,進入如圖進入如圖13.1413.14所示所示“選項選項”對話框。對話框。13.513.5數(shù)據(jù)庫還原數(shù)據(jù)庫還原2 2使用使用Transact-SQ

27、LTransact-SQL語句進行數(shù)據(jù)庫備份還原語句進行數(shù)據(jù)庫備份還原RESTORE DATABASE database_name | RESTORE DATABASE database_name | database_name_var database_name_var FROM ,.n FROM ,.n 13.513.5數(shù)據(jù)庫還原數(shù)據(jù)庫還原【例例13.813.8】用完整備份文件用完整備份文件“D:D:backupbackupcjgl_cjgl_完全備份完全備份.bak.bak”還原還原cjglcjgl數(shù)據(jù)庫。數(shù)據(jù)庫。USE masterUSE masterGOGORESTORE DATAB

28、ASE cjgl FROM DISK = D:backupcjgl_RESTORE DATABASE cjgl FROM DISK = D:backupcjgl_完全備份完全備份.bak.bakGOGO13.513.5數(shù)據(jù)庫還原數(shù)據(jù)庫還原l2 2)還原差異備份)還原差異備份還原差異備份的語法與還原完整備份的語法是一樣的,只是還原差異備份的語法與還原完整備份的語法是一樣的,只是在還原差異備份時,必須在還原差異備份時,必須要先還原完整備份再還原差異備要先還原完整備份再還原差異備份份,因此還原差異備份必須要分為兩步完成。完整備份與差,因此還原差異備份必須要分為兩步完成。完整備份與差異備份數(shù)據(jù)在同一個

29、備份文件或備份設(shè)備中,也有可能是在異備份數(shù)據(jù)在同一個備份文件或備份設(shè)備中,也有可能是在不同的備份文件或備份設(shè)備中。如果在同一個備份文件或備不同的備份文件或備份設(shè)備中。如果在同一個備份文件或備份設(shè)備中,則必須要用份設(shè)備中,則必須要用filefile參數(shù)來指定備份集。無論是備份參數(shù)來指定備份集。無論是備份集是不是在同一個備份文件(備份設(shè)備)中,除了最后一個集是不是在同一個備份文件(備份設(shè)備)中,除了最后一個還原操作,其他所有還原操作都必須要加上還原操作,其他所有還原操作都必須要加上NORECOVERYNORECOVERY或或STANDBYSTANDBY參數(shù)。參數(shù)。13.513.5數(shù)據(jù)庫還原數(shù)據(jù)庫還

30、原【例例13.1013.10】” cjgl_cjgl_完全備份完全備份.bak.bak”是是CJGLCJGL數(shù)據(jù)庫的完整備數(shù)據(jù)庫的完整備份,份,”cjgl_cjgl_差異備份差異備份_ _添加添加t_1t_1.bak.bak” 為其差異備份,請上為其差異備份,請上述兩個備份設(shè)備還原數(shù)據(jù)庫述兩個備份設(shè)備還原數(shù)據(jù)庫cjglcjgl。USE masterUSE masterGOGORESTORE DATABASE cjgl RESTORE DATABASE cjgl FROM DISK = D:backupcjgl_FROM DISK = D:backupcjgl_完全備份完全備份.bak WITH

31、 .bak WITH NORECOVERYNORECOVERYGOGORESTORE DATABASE cjglRESTORE DATABASE cjglFROM DISK=D:backupcjgl_FROM DISK=D:backupcjgl_差異備份差異備份_ _添加添加t_1.bak t_1.bak WITH NORECOVERYWITH NORECOVERYGOGO13.513.5數(shù)據(jù)庫還原數(shù)據(jù)庫還原【例例13.1213.12】使用文件備份,還原使用文件備份,還原cjglcjgl數(shù)據(jù)庫的文件和文件組,再用事物數(shù)據(jù)庫的文件和文件組,再用事物日志文件還原事務(wù)日志備份。日志文件還原事務(wù)日志備

32、份。RESTORE DATABASE cjgl file=student1RESTORE DATABASE cjgl file=student1from DISK = D:backupcjgl_from DISK = D:backupcjgl_文件備份文件備份_student1.bak with _student1.bak with norecovery norecovery GOGORESTORE DATABASE cjgl file=student2RESTORE DATABASE cjgl file=student2from DISK = D:backupcjgl_from DISK =

33、 D:backupcjgl_文件備份文件備份_student2.bak with _student2.bak with norecoverynorecoveryGOGORESTORE log cjglRESTORE log cjglfrom DISK = D:backup2cjgl_from DISK = D:backup2cjgl_文件備份文件備份_log.bak_log.bakGOGO13.613.6數(shù)據(jù)庫的分離和附加數(shù)據(jù)庫的分離和附加 Microsoft SQL Server 2008 Microsoft SQL Server 2008允許允許分離分離數(shù)據(jù)庫,然后將其重數(shù)據(jù)庫,然后將其重

34、新新附加附加到另一臺服務(wù)器,甚至同一臺服務(wù)器上。分離數(shù)據(jù)到另一臺服務(wù)器,甚至同一臺服務(wù)器上。分離數(shù)據(jù)庫將從庫將從SQL ServerSQL Server刪除數(shù)據(jù)庫,但是不改變組成該數(shù)據(jù)庫刪除數(shù)據(jù)庫,但是不改變組成該數(shù)據(jù)庫的數(shù)據(jù)和事務(wù)日志文件。然后這些數(shù)據(jù)和事務(wù)日志文件可的數(shù)據(jù)和事務(wù)日志文件。然后這些數(shù)據(jù)和事務(wù)日志文件可以用來將數(shù)據(jù)庫附加到任何以用來將數(shù)據(jù)庫附加到任何SQL ServerSQL Server實例上,包括從中實例上,包括從中分離該數(shù)據(jù)庫的服務(wù)器。這時數(shù)據(jù)庫的使用狀態(tài)與它分離分離該數(shù)據(jù)庫的服務(wù)器。這時數(shù)據(jù)庫的使用狀態(tài)與它分離時的狀態(tài)完全相同。時的狀態(tài)完全相同。13.613.6數(shù)據(jù)庫的

35、分離和附加數(shù)據(jù)庫的分離和附加l13.6.113.6.1分離數(shù)據(jù)庫分離數(shù)據(jù)庫通過通過SQL Server Management StudioSQL Server Management Studio分離數(shù)據(jù)庫的操作步驟分離數(shù)據(jù)庫的操作步驟如下:如下:l(1 1)啟動)啟動“SQL Server Management StudioSQL Server Management Studio”,在,在“對象對象資源管理器資源管理器”窗口里展開窗口里展開“數(shù)據(jù)庫數(shù)據(jù)庫”樹型目錄,鼠標右鍵樹型目錄,鼠標右鍵單擊單擊“CJGLCJGL”數(shù)據(jù)庫,在彈出的快捷菜單里選擇數(shù)據(jù)庫,在彈出的快捷菜單里選擇“任務(wù)任務(wù)”,如

36、圖如圖13.1713.17所示。所示。13.613.6數(shù)據(jù)庫的分離和附加數(shù)據(jù)庫的分離和附加(2 2)單擊)單擊“分離分離”菜單項,彈出如圖菜單項,彈出如圖13.1813.18所示的所示的“分離數(shù)分離數(shù)據(jù)庫據(jù)庫”對話框。數(shù)據(jù)庫對話框。數(shù)據(jù)庫CJGLCJGL的狀態(tài)為就緒,表示可以分離。的狀態(tài)為就緒,表示可以分離。l(3 3)單擊)單擊“確定確定”按鈕,開始執(zhí)行分離數(shù)據(jù)庫操作。按鈕,開始執(zhí)行分離數(shù)據(jù)庫操作。13.613.6數(shù)據(jù)庫的分離和附加數(shù)據(jù)庫的分離和附加l通過程序方式分離數(shù)據(jù)庫:通過程序方式分離數(shù)據(jù)庫:可以使用存儲過程可以使用存儲過程sp_detach_dbsp_detach_db進行數(shù)據(jù)庫的分

37、離,語法格進行數(shù)據(jù)庫的分離,語法格式如下:式如下:lsp_detach_db dbname= database_name sp_detach_db dbname= database_name , skipchecks= skipchecks , skipchecks= skipchecks , keepfulltextindexfile = , keepfulltextindexfile = KeepFulltextIndexFile KeepFulltextIndexFile 【例例13.1313.13】通過程序方式分離數(shù)據(jù)庫通過程序方式分離數(shù)據(jù)庫CJGLCJGL。USE masterUSE

38、 masterGOGOsp_detach_db dbname=CJGL, keepfulltextindexfile=true;sp_detach_db dbname=CJGL, keepfulltextindexfile=true;GOGO13.613.6數(shù)據(jù)庫的分離和附加數(shù)據(jù)庫的分離和附加l13.6.213.6.2附加數(shù)據(jù)庫附加數(shù)據(jù)庫通過通過SQL Server Management StudioSQL Server Management Studio附加數(shù)據(jù)庫的操作步驟附加數(shù)據(jù)庫的操作步驟如下:如下:l(1 1)啟動)啟動“SQL Server Management StudioSQL Ser

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論