SQL Server教程(第6版)(2008版) 課件 第8章 數(shù)據(jù)庫備份與恢復(fù)_第1頁
SQL Server教程(第6版)(2008版) 課件 第8章 數(shù)據(jù)庫備份與恢復(fù)_第2頁
SQL Server教程(第6版)(2008版) 課件 第8章 數(shù)據(jù)庫備份與恢復(fù)_第3頁
SQL Server教程(第6版)(2008版) 課件 第8章 數(shù)據(jù)庫備份與恢復(fù)_第4頁
SQL Server教程(第6版)(2008版) 課件 第8章 數(shù)據(jù)庫備份與恢復(fù)_第5頁
已閱讀5頁,還剩40頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第8章

數(shù)據(jù)庫備份與恢復(fù)——備份和恢復(fù)概述01備份和恢復(fù)需求分析備份和恢復(fù)需求分析數(shù)據(jù)庫中的數(shù)據(jù)丟失或被破壞可能是由于以下原因。(1)計算機硬件故障。由于使用不當(dāng)或產(chǎn)品質(zhì)量等原因,計算機硬件可能會出現(xiàn)故障,不能使用。如硬盤損壞會使得存儲于其上的數(shù)據(jù)丟失。(2)軟件故障。由于軟件設(shè)計上的失誤或用戶使用不當(dāng),軟件系統(tǒng)可能會誤操作引起數(shù)據(jù)破壞。(3)病毒。病毒會破壞系統(tǒng)軟件、硬件和數(shù)據(jù)。(4)誤操作。例如,用戶誤用了諸如DELETE、UPDATE等命令而引起數(shù)據(jù)丟失或被破壞。(5)自然災(zāi)害。如火災(zāi)、洪水或地震等,它們會造成極大的破壞,會毀壞計算機系統(tǒng)及其數(shù)據(jù)。(6)盜竊。一些重要數(shù)據(jù)可能會遭竊。02數(shù)據(jù)庫備份簡介備份內(nèi)容由誰做備份操作備份介質(zhì)何時備份限制的操作備份方法數(shù)據(jù)庫備份簡介1.備份內(nèi)容數(shù)據(jù)庫中數(shù)據(jù)的重要程度決定了數(shù)據(jù)恢復(fù)的必要性與重要性,也就決定了數(shù)據(jù)是否備份及如何備份。數(shù)據(jù)庫需備份的內(nèi)容可分為數(shù)據(jù)文件(包括主數(shù)據(jù)文件和輔助數(shù)據(jù)文件)和日志文件兩部分。2.由誰做備份操作在SQLServer中,具有下列角色的成員可以做備份操作。(1)固定的服務(wù)器角色sysadmin(系統(tǒng)管理員)。(2)固定的數(shù)據(jù)庫角色db_owner(數(shù)據(jù)庫所有者)。(3)固定的數(shù)據(jù)庫角色db_backupoperator(允許進行數(shù)據(jù)庫備份的用戶)。3.備份介質(zhì)備份介質(zhì)是指將數(shù)據(jù)庫備份到的目標(biāo)載體,即備份到何處。SQLServer中,允許使用兩種類型的備份介質(zhì)。(1)硬盤:最常用的備份介質(zhì),可以用于備份本地文件,也可以用于備份網(wǎng)絡(luò)文件。(2)磁帶:大容量的備份介質(zhì),磁帶僅可用于備份本地文件。數(shù)據(jù)庫備份簡介4.何時備份對于系統(tǒng)數(shù)據(jù)庫和用戶數(shù)據(jù)庫,其備份時機是不同的。(1)系統(tǒng)數(shù)據(jù)庫。當(dāng)系統(tǒng)數(shù)據(jù)庫master、msdb和model中的任何一個被修改以后,都要將其備份。master數(shù)據(jù)庫包含了SQLServer系統(tǒng)有關(guān)數(shù)據(jù)庫的全部信息,即它是“數(shù)據(jù)庫的數(shù)據(jù)庫”。如果master數(shù)據(jù)庫損壞,那么SQLServer可能無法啟動,并且用戶數(shù)據(jù)庫可能無效。當(dāng)master數(shù)據(jù)庫被破壞而沒有備份時,就只能重建全部的系統(tǒng)數(shù)據(jù)庫。(2)用戶數(shù)據(jù)庫。當(dāng)創(chuàng)建數(shù)據(jù)庫或加載數(shù)據(jù)庫時,應(yīng)備份數(shù)據(jù)庫。當(dāng)為數(shù)據(jù)庫創(chuàng)建索引時,應(yīng)備份數(shù)據(jù)庫,以便恢復(fù)時能夠大大節(jié)省時間。當(dāng)清理了日志或執(zhí)行了不記日志的T-SQL命令時,應(yīng)備份數(shù)據(jù)庫,這是因為若日志記錄被清除或命令未記錄在事務(wù)日志中,日志中將不包含數(shù)據(jù)庫的活動記錄,不能通過日志恢復(fù)數(shù)據(jù)。不記日志的命令有BACKUPLOGWITHNO_LOG、WRITETEXT、UPDATETEXT、SELECTINTO、命令行實用程序、BCP命令等。數(shù)據(jù)庫備份簡介5.限制的操作SQLServer在執(zhí)行數(shù)據(jù)庫備份的過程中,允許用戶對數(shù)據(jù)庫繼續(xù)操作,但不允許用戶在備份時執(zhí)行下列操作:創(chuàng)建或刪除數(shù)據(jù)庫文件;創(chuàng)建索引;不記日志的命令。若在系統(tǒng)正執(zhí)行上述操作中的任何一種時試圖進行備份,則備份進程不能執(zhí)行。6.備份方法SQLServer中有兩種基本的備份:一種是只備份數(shù)據(jù)庫,另一種是備份數(shù)據(jù)庫和事務(wù)日志,它們又都可以與完全備份或差異備份相結(jié)合。另外,當(dāng)數(shù)據(jù)庫很大時,也可以進行個別文件或文件組的備份,從而將數(shù)據(jù)庫備份分割為多個較小的備份過程。這樣就形成了以下4種備份方法。(1)完全數(shù)據(jù)庫備份。這種方法按常規(guī)定期備份整個數(shù)據(jù)庫,包括事務(wù)日志。當(dāng)系統(tǒng)出現(xiàn)故障時,可以恢復(fù)到最近一次數(shù)據(jù)庫備份時的狀態(tài),但自該備份后所提交的事務(wù)都將丟失。(2)數(shù)據(jù)庫和事務(wù)日志備份。這種方法不需很頻繁地進行數(shù)據(jù)庫備份,而是在兩次完全數(shù)據(jù)庫備份期間,進行事務(wù)日志備份,所備份的事務(wù)日志記錄了兩次數(shù)據(jù)庫備份之間所有的數(shù)據(jù)庫活動記錄。(3)差異備份。此方法只備份自上次數(shù)據(jù)庫備份后發(fā)生更改的部分?jǐn)?shù)據(jù)庫,它用來擴充完全數(shù)據(jù)庫備份或數(shù)據(jù)庫和事務(wù)日志備份方法。對于一個經(jīng)常修改的數(shù)據(jù)庫,采用差異備份策略可以減少備份和恢復(fù)時間。差異備份比完全備份工作量小而且備份速度快,對正在運行的系統(tǒng)影響也較小,因此可以經(jīng)常地備份,減少丟失數(shù)據(jù)的危險。(4)數(shù)據(jù)庫文件或文件組備份。這種方法只備份特定的數(shù)據(jù)庫文件或文件組,同時還要定期備份事務(wù)日志,這樣在恢復(fù)時可以只還原已損壞的文件,而不用還原數(shù)據(jù)庫的其余部分,從而加快了恢復(fù)速度。03數(shù)據(jù)庫恢復(fù)簡介準(zhǔn)備工作執(zhí)行恢復(fù)數(shù)據(jù)庫的操作數(shù)據(jù)庫恢復(fù)簡介1)創(chuàng)建命名備份設(shè)備語法格式如下。sp_addumpdevice[@devtype=]'設(shè)備類型', [@邏輯備份設(shè)備變量名=]'邏輯名', [@物理備份設(shè)備變量名=]'物理名'說明:(1)“設(shè)備類型”指出介質(zhì)類型,可以是DISK(硬盤文件)或者TAPE(磁帶)。(2)包含@選項后,在對應(yīng)備份設(shè)備后,后面可以通過變量名引用?!纠?.1】在本地硬盤上創(chuàng)建一個備份設(shè)備。語句如下:EXECsp_addumpdevice'DISK', 'mybackupfile1', 'E:\SQLServer\Data\mybackupfile1.bak'創(chuàng)建的備份設(shè)備的邏輯名是mybackupfile1;創(chuàng)建的備份設(shè)備的物理名是E:\SQLServer\Data\mybackupfile2.bak。數(shù)據(jù)庫恢復(fù)簡介2)刪除命名備份設(shè)備當(dāng)不再需要所創(chuàng)建的命名備份設(shè)備時,可以用系統(tǒng)存儲過程sp_dropdevice刪除它。例如:EXECsp_dropdevice'mybackupfile1',DELFILE04備份數(shù)據(jù)庫備份整個數(shù)據(jù)庫備份事務(wù)日志備份數(shù)據(jù)庫文件或文件組使用多個備份設(shè)備備份差異備份數(shù)據(jù)庫備份數(shù)據(jù)庫1.備份整個數(shù)據(jù)庫下列語句可備份整個數(shù)據(jù)庫、差異備份數(shù)據(jù)庫、備份數(shù)據(jù)庫文件或文件組及備份事務(wù)日志。語法格式如下。BACKUPDATABASE數(shù)據(jù)庫名|@數(shù)據(jù)庫名變量 /*被備份的數(shù)據(jù)庫名*/ TO備份設(shè)備,… /*指出備份的目標(biāo)設(shè)備*/ [WITHINIT|NOINIT] [WITHNAME='名稱’] [PASSWORD='備份集密碼’] [EXPIREDATE='日期’] [RETAINDAYS=天...] [BLOCKSIZE=塊大小]說明:(1)數(shù)據(jù)庫:備份的數(shù)據(jù)庫直接通過數(shù)據(jù)庫名指定,也可以有@數(shù)據(jù)庫名變量指定。(2)TO備份設(shè)備:指定備份操作時要使用的邏輯備份設(shè)備或物理備份設(shè)備,最多可指定64個備份設(shè)備。備份設(shè)備可以是下列一種或多種格式。MIRRORTO子句指定鏡像媒體集。(3)INIT:表示覆蓋所有備份集,NOINIT表示追加到最新備份集,默認選項。(4)EXPIREDATE:表示允許覆蓋該備份集的日期。(5)RETAINDAYS:表示必須經(jīng)過多少天可以覆蓋該備份集。備份數(shù)據(jù)庫【例8.2】使用邏輯名myxscj1在“E:\SQLServer\Data”中創(chuàng)建一個命名的備份設(shè)備,并將數(shù)據(jù)庫xscj完全備份到該設(shè)備。語句如下:完全備份xscj數(shù)據(jù)庫。EXECsp_addumpdevice'DISK','myxscj1','E:\SQLServer\Data\myxscj1.bak'BACKUPDATABASExscjTOmyxscj1將數(shù)據(jù)庫xscj完全備份到備份設(shè)備myxscj1中,并覆蓋該設(shè)備中原有的內(nèi)容。BACKUPDATABASExscjTOmyxscj1WITHINIT將數(shù)據(jù)庫xscj備份到備份設(shè)備myxscj1中,執(zhí)行追加的完全數(shù)據(jù)庫備份,該設(shè)備上原有的備份內(nèi)容都被保存。BACKUPDATABASExscjTOmyxscj1WITHNOINIT備份數(shù)據(jù)庫2.備份事務(wù)日志當(dāng)進行事務(wù)日志備份時,系統(tǒng)進行下列操作。(1)將事務(wù)日志中從前一次成功備份結(jié)束位置開始,到當(dāng)前事務(wù)日志結(jié)尾處的內(nèi)容進行備份。(2)標(biāo)識事務(wù)日志中活動部分的開始,所謂事務(wù)日志的活動部分指從最近的檢查點或最早的打開位置開始至事務(wù)日志的結(jié)尾處。進行事務(wù)日志備份使用BACKUPLOG語句。其語法格式如下。BACKUPLOG… /*選項與BACKUPDATABASE相同*/ WITHNORECOVERY|STANDBY=撤銷文件名[,NO_TRUNCATE]說明:(1)

NORECOVERY:備份到日志尾部,不覆蓋原有的內(nèi)容。

(2)

STANDBY:將備份日志尾部,并使數(shù)據(jù)庫處于只讀或備用模式。(3)

NO_TRUNCATE:若數(shù)據(jù)庫被損壞,使用該選項可以備份最近的所有數(shù)據(jù)庫活動,SQLServer將保存整個事務(wù)日志?!纠?.3】創(chuàng)建一個備份設(shè)備xscjLOGBK,并備份xscj數(shù)據(jù)庫的事務(wù)日志。語句如下:EXECsp_addumpdevice'DISK','xscjLOGBK','E:\SQLServer\Data\myxscjlog.bak'BACKUPLOGxscjTOxscjLOGBK備份數(shù)據(jù)庫3.備份數(shù)據(jù)庫文件或文件組當(dāng)數(shù)據(jù)庫非常大時,可以進行數(shù)據(jù)庫文件或文件組的備份。其語法格式如下。BACKUPDATABASE數(shù)據(jù)庫名|@數(shù)據(jù)庫名變量 FILE=邏輯文件名|@邏輯文件名變量 FILEGROUP=邏輯文件組名|@邏輯文件組名變量 TO備份設(shè)備,…說明:(1)FILE選項指定一個或多個包含在數(shù)據(jù)庫備份中的文件命名;FILEGROUP選項指定一個或多個包含在數(shù)據(jù)庫備份中的文件組命名。(2)必須執(zhí)行事務(wù)日志備份,以確?;謴?fù)后的文件與數(shù)據(jù)庫其他部分的一致性。(3)應(yīng)輪流備份數(shù)據(jù)庫中的文件或文件組,以使數(shù)據(jù)庫中的所有文件或文件組都定期得到備份。備份數(shù)據(jù)庫【例8.4】用磁盤文件備份test3數(shù)據(jù)庫及其主數(shù)據(jù)文件和增加的文件組。完全備份test3數(shù)據(jù)庫。BACKUPDATABASEtest3 TODISK='E:\SQLServer\Data\testbk.bak'WITHINIT備份test3數(shù)據(jù)庫增加的文件組。BACKUPDATABASEtest3 FILEgroup='test3Group1' TODISK='E:\SQLServer\Data\test3G1.bak'WITHINIT備份test3數(shù)據(jù)庫的主數(shù)據(jù)文件。BACKUPDATABASEtest3 FILE='test3_dat1' TODISK='E:\SQLServer\Data\test3_dat1.bak'WITHINIT備份數(shù)據(jù)庫4.使用多個備份設(shè)備備份SQLServer可以同時向多個備份設(shè)備寫入數(shù)據(jù),即進行并行的備份。并行備份將需備份的數(shù)據(jù)分別備份在多個設(shè)備上,這多個備份設(shè)備構(gòu)成了備份集。在多個備份設(shè)備上進行備份及由備份的各組成部分形成備份集如圖。備份數(shù)據(jù)庫在用多個備份設(shè)備進行并行備份時,要注意以下幾點(1)設(shè)備備份操作使用的所有設(shè)備必須具有相同的介質(zhì)類型。(2)多設(shè)備備份操作使用的設(shè)備,其存儲容量和運行速度可以不同。(3)可以使用命名備份設(shè)備與臨時備份設(shè)備的組合。(4)從多設(shè)備備份恢復(fù)時,不必使用與備份時相同數(shù)量的設(shè)備。【例8.5】將數(shù)據(jù)庫xscj備份到多個備份設(shè)備中。語句如下:EXECsp_addumpdevice'DISK','myxscj2','E:\SQLServer\Data\myxscj2.bak'EXECsp_addumpdevice'DISK','myxscj3','E:\SQLServer\Data\myxscj3.bak'BACKUPDATABASExscjTOmyxscj2,myxscj3 WITHNAME='xscjbk'備份數(shù)據(jù)庫5.差異備份數(shù)據(jù)庫對于需頻繁修改的數(shù)據(jù)庫,進行差異備份可以縮短備份和恢復(fù)的時間。只有當(dāng)已經(jīng)執(zhí)行了完全數(shù)據(jù)庫備份后才能執(zhí)行差異備份。在進行差異備份時,SQLServer將備份從最近的完全數(shù)據(jù)庫備份后數(shù)據(jù)庫發(fā)生了變化的部分。其語法格式如下。BACKUPDATABASE數(shù)據(jù)庫名|@數(shù)據(jù)庫名變量 READ_WRITE_FILEGROUPS[,FILEGROUP=邏輯文件組名|@邏輯文件組名變量…] TO備份設(shè)備,… [WITHDIFFERENTIAL]說明:(1)READ_WRITE_FILEGROUPS:指定在部分備份中備份所有讀/寫文件組。(2)FILEGROUP:包含在部分備份中的讀寫文件組的邏輯名稱或變量的邏輯名稱。(3)DIFFERENTIAL:表示差異備份的關(guān)鍵字。SQLServer執(zhí)行差異備份時需注意下列兩點。(1)若在上次完全數(shù)據(jù)庫備份后,數(shù)據(jù)庫的某行被修改了,則執(zhí)行差異備份只保存最后一次改動的值。(2)為了使差異備份設(shè)備與完全數(shù)據(jù)庫備份設(shè)備區(qū)分開來,應(yīng)使用不同的設(shè)備名?!纠?.6】創(chuàng)建臨時備份設(shè)備進行差異備份。BACKUPDATABASExscj TODISK='E:\SQLServer\Data\xscjbk.bak' WITHDIFFERENTIAL05界面?zhèn)浞輸?shù)據(jù)庫界面?zhèn)浞輸?shù)據(jù)庫界面?zhèn)浞輸?shù)據(jù)庫步驟如下:在“對象資源管理器”中選擇需要備份的數(shù)據(jù)庫(如xscj),右擊,在彈出的快捷菜單中選擇任務(wù)→備份→數(shù)據(jù)庫命令,打開“備份數(shù)據(jù)庫-xscj”窗口。界面包含常規(guī)頁和選項頁,在“常規(guī)”頁包含源、備份集、目標(biāo)3個方面。(1)源備份類型:有3種類型,即完整、差異、事務(wù)日志,這里選擇“完整”選項。備份組件:選擇備份“數(shù)據(jù)庫”還是“文件和文件組”,如果選中“文件和文件組”單選按鈕,則可以在打開的“選擇文件文件組”窗口中選擇需要備份的文件或文件組,這里選中“數(shù)據(jù)庫”單選按鈕。(2)備份集包括指定數(shù)據(jù)庫備份集的邏輯名稱、填寫備份的說明、指定備份集過期時間。(3)目標(biāo)選擇備份到“磁盤”還是“磁帶”。界面?zhèn)浞輸?shù)據(jù)庫下面列表是備份設(shè)備或者備份文件,如圖。界面?zhèn)浞輸?shù)據(jù)庫單擊“添加”,加入備份設(shè)備或者備份文件,如圖。第8章

數(shù)據(jù)庫備份與恢復(fù)——數(shù)據(jù)庫恢復(fù)01檢

點檢查點SQLServer系統(tǒng)在日志中存儲有關(guān)信息,以便在需要時可以恢復(fù)(前滾)或撤銷(回滾)構(gòu)成事務(wù)的數(shù)據(jù)修改。日志中的每條記錄都由唯一的日志序號(LSN)標(biāo)識,事務(wù)的所有日志記錄都鏈接在一起。SQLServer系統(tǒng)對修改過的數(shù)據(jù)緩沖區(qū)的內(nèi)容并不是立即寫回磁盤,而是控制寫入磁盤的時間,它將在緩沖區(qū)內(nèi)修改過的數(shù)據(jù)頁存入高速緩存一段時間后再寫入磁盤,從而優(yōu)化磁盤寫入。將包含被修改過但尚未寫入磁盤的數(shù)據(jù)緩沖區(qū)頁稱為臟頁,將臟頁寫入磁盤稱為刷新頁。對被修改過的數(shù)據(jù)頁進行高速緩存時,要確保在將相應(yīng)的內(nèi)存日志映像寫入日志文件之前沒有刷新任何數(shù)據(jù)修改,否則將不能在需要時進行回滾。為了保證能恢復(fù)所有對數(shù)據(jù)頁的修改,SQLServer采用預(yù)寫日志的方法,即將所有內(nèi)存日志映像都在相應(yīng)的數(shù)據(jù)修改前寫入磁盤。只要所有日志記錄都已刷新到磁盤,則即使在被修改的數(shù)據(jù)頁未被刷新到磁盤的情況下,系統(tǒng)也能夠恢復(fù)。這時系統(tǒng)恢復(fù)可以只使用日志記錄,進行事務(wù)前滾或回滾,執(zhí)行對數(shù)據(jù)頁的修改。SQLServer系統(tǒng)定期將所有臟日志和數(shù)據(jù)頁刷新到磁盤,稱之為檢查點。檢查點從當(dāng)前數(shù)據(jù)庫的高速緩沖存儲器中刷新臟數(shù)據(jù)和日志頁,以盡量減少在恢復(fù)時必須前滾的修改量。02恢復(fù)數(shù)據(jù)庫恢復(fù)數(shù)據(jù)庫前的準(zhǔn)備命令方式恢復(fù)數(shù)據(jù)庫說明恢復(fù)整個數(shù)據(jù)庫恢復(fù)數(shù)據(jù)庫的部分內(nèi)容恢復(fù)特定的文件或文件組事務(wù)日志恢復(fù)恢復(fù)數(shù)據(jù)庫1.恢復(fù)數(shù)據(jù)庫前的準(zhǔn)備有兩種方法可以得到有關(guān)數(shù)據(jù)庫備份介質(zhì)的信息。1)通過界面方式查看所有備份介質(zhì)的屬性在“對象資源管理器”面板中展開服務(wù)器對象→備份設(shè)備,選擇欲查看的備份介質(zhì),右擊,在彈出的快捷菜單中選擇“屬性”命令。在打開的“備份設(shè)備”窗口中選擇“媒體內(nèi)容”選項卡,將顯示所選備份介質(zhì)的有關(guān)信息,如備份介質(zhì)所在的服務(wù)器名、備份數(shù)據(jù)庫名、備份類型、備份日期、到期日及大小等信息。2)使用命令得到有關(guān)備份介質(zhì)更詳細的信息RESTOREHEADERONLY語句的執(zhí)行結(jié)果是在特定的備份設(shè)備上檢索所有備份集的所有備份首部信息。其語法格式如下。RESTOREHEADERONLY FROM備份設(shè)備 /*指定還原時要使用的邏輯或物理備份設(shè)備*/ ……RESTOREFILELISTONLY語句可獲得備份集內(nèi)包含的數(shù)據(jù)庫和日志文件列表組成的結(jié)果集信息。RESTORELABELONLY語句可獲得有關(guān)指定備份設(shè)備所標(biāo)識的備份媒體信息組成的結(jié)果集信息?;謴?fù)數(shù)據(jù)庫2.命令方式恢復(fù)數(shù)據(jù)庫說明與正常日志備份相似,尾日志備份將捕獲所有尚未備份的事務(wù)日志記錄,但與正常日志備份在下列幾個方面有所不同。(1)如果數(shù)據(jù)庫損壞或離線,則可以嘗試進行尾日志備份。僅當(dāng)日志文件未損壞且數(shù)據(jù)庫不包含任何大容量日志更改時,尾日志備份才會成功。(2)尾日志備份可使用COPY_ONLY選項獨立于定期日志備份進行創(chuàng)建。僅復(fù)制備份不會影響備份日志鏈。事務(wù)日志不會被尾日志備份截斷,并且捕獲的日志將包括在以后的正常日志備份中。(3)如果數(shù)據(jù)庫損壞,尾日志可能會包含不完整的元數(shù)據(jù),這是因為某些通??捎糜谌罩緜浞莸脑獢?shù)據(jù)在尾日志備份中可能會不可用。(4)在創(chuàng)建尾日志備份時,也可以同時使數(shù)據(jù)庫變?yōu)檫€原狀態(tài)。使數(shù)據(jù)庫離線可保證尾日志備份包含對數(shù)據(jù)庫所做的所有更改,并且隨后不對數(shù)據(jù)庫進行更改?;謴?fù)數(shù)據(jù)庫3.恢復(fù)整個數(shù)據(jù)庫當(dāng)存儲數(shù)據(jù)庫的物理介質(zhì)被破壞,或整個數(shù)據(jù)庫被誤刪除或破壞時,就要恢復(fù)整個數(shù)據(jù)庫。在恢復(fù)整個數(shù)據(jù)庫時,SQLServer系統(tǒng)將重新創(chuàng)建數(shù)據(jù)庫及與之相關(guān)的所有文件,并將文件存放在原來的位置。其語法格式如下。RESTOREDATABASE數(shù)據(jù)庫名|@數(shù)據(jù)庫名變量 /*指定被還原的目標(biāo)數(shù)據(jù)庫*/ FROM備份設(shè)備,… /*指定備份設(shè)備*/ [WITHRECOVERY|NORECOVERY|STANDBY=備用文件名|@備用文件名變量] …恢復(fù)數(shù)據(jù)庫【例8.7】使用RESTORE語句從一個已存在的命名備份介質(zhì)xscjBK1中恢復(fù)整個數(shù)據(jù)庫xscj。(1)創(chuàng)建備份設(shè)備xscjBK1EXECsp_addumpdevice'DISK','xscjBK1','E:\SQLServer\Data\xscjBK1.bak'(2)對xscj數(shù)據(jù)庫進行完全備份BACKUPDATABASExscj TOxscjBK1(3)用戶可以對xscj數(shù)據(jù)庫做一些修改,如刪除其中一個表(kcb2),以便確認是否恢復(fù)了數(shù)據(jù)庫。USExscjDROPTABLEkcb2(4)恢復(fù)數(shù)據(jù)庫xscjUSEmasterRESTOREDATABASExscj FROMxscjBK1 WITHFILE=1,REPLACE恢復(fù)數(shù)據(jù)庫4.恢復(fù)數(shù)據(jù)庫的部分內(nèi)容應(yīng)用程序或用戶的誤操作,如無效更新或誤刪表等,往往只影響到數(shù)據(jù)庫的某些相對獨立的部分。在這些情況下,SQLServer提供了將數(shù)據(jù)庫的部分內(nèi)容還原到另一個位置的機制,以使損壞或丟失的數(shù)據(jù)可復(fù)制回原始數(shù)據(jù)庫。5.恢復(fù)特定的文件或文件組若某個或某些文件被破壞或被誤刪除,則可以從文件或文件組備份中恢復(fù),而不必進行整個數(shù)據(jù)庫的恢復(fù)?;謴?fù)數(shù)據(jù)庫6.事務(wù)日志恢復(fù)使用事務(wù)日志,可將數(shù)據(jù)庫恢復(fù)到指定的時間點。語法格式如下。RESTORELOG數(shù)據(jù)庫名|@數(shù)據(jù)庫名變量

文件或文件組,… FROM備份設(shè)備,… [WITHRECOVERY|NORECOVERY|STANDBY=備用文件名|@備用文件名變量 …|,指定時間點]執(zhí)行事務(wù)日志恢復(fù)必須在進行完全數(shù)據(jù)庫恢復(fù)以后。以下語句是先從備份介質(zhì)xscjBK1完全恢復(fù)數(shù)據(jù)庫xscj,再進行事務(wù)日志恢復(fù)(假設(shè)已經(jīng)備份了xscj數(shù)據(jù)庫的事務(wù)日志到備份設(shè)備xscjLOGBK中)。USEmasterRESTORELOGxscj FROMxscjLOGBKGO03界面恢復(fù)數(shù)據(jù)庫界面恢復(fù)數(shù)據(jù)庫在“對象資源管理器”中選擇需要恢復(fù)的數(shù)據(jù)庫(如xscj),右擊,在彈出的快捷菜單中選擇任務(wù)→還原→數(shù)據(jù)庫命令,打開“還原數(shù)據(jù)庫-xscj”窗口,如圖。第8章

數(shù)據(jù)庫備份與恢復(fù)——數(shù)據(jù)庫快照數(shù)據(jù)庫快照1.數(shù)據(jù)庫快照創(chuàng)建語法格式如下。CREATEDATABASE數(shù)據(jù)庫快照名 ON(NAME=邏輯文件名,FILENAME='路徑文件名' )[,...] ASSNAPSHOTOF源數(shù)據(jù)庫名數(shù)據(jù)庫快照創(chuàng)建后,在對象資源管理器的數(shù)據(jù)庫項下展開“數(shù)據(jù)庫快照”,就可以看見創(chuàng)建的數(shù)據(jù)庫快照名項。數(shù)據(jù)庫快照【例8.8】創(chuàng)建test3數(shù)據(jù)庫的快照。CREATEDATABASEtest3_s1 ON ( NAME=test3_dat1, FILENAME="E:\MyDB\test3_dat1_s1.mdf" ), ( NAME=test3_dat2, FILENAME="E:\MyDB\test3_dat2_s1.mdf" ) ASSNAPSHOTOFtest3GO數(shù)據(jù)庫快照2.快照恢復(fù)數(shù)據(jù)庫

在數(shù)據(jù)庫快照后若進行了錯誤的操作改變數(shù)據(jù)庫

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論