第4章-數(shù)據(jù)庫的備份恢復(fù)與分離附加-SQL-教學(xué)課件_第1頁
第4章-數(shù)據(jù)庫的備份恢復(fù)與分離附加-SQL-教學(xué)課件_第2頁
第4章-數(shù)據(jù)庫的備份恢復(fù)與分離附加-SQL-教學(xué)課件_第3頁
第4章-數(shù)據(jù)庫的備份恢復(fù)與分離附加-SQL-教學(xué)課件_第4頁
第4章-數(shù)據(jù)庫的備份恢復(fù)與分離附加-SQL-教學(xué)課件_第5頁
已閱讀5頁,還剩81頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

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

恢復(fù)數(shù)據(jù)庫

數(shù)據(jù)庫分離與附加

練習(xí)第4章數(shù)據(jù)庫的備份恢復(fù)與分離附加

12/11/20221備份數(shù)據(jù)庫第4章數(shù)據(jù)庫的備份恢復(fù)與分離附加12/11/備份和恢復(fù)是數(shù)據(jù)庫管理人員維護數(shù)據(jù)庫安全性和完整性的重要操作。備份是恢復(fù)受損數(shù)據(jù)庫最容易、把意外損失降低到最小的保障方法。沒有備份,所有的數(shù)據(jù)都有可能丟失。備份可以防止因表和數(shù)據(jù)庫遭受破壞、介質(zhì)失效或用戶錯誤而造成的數(shù)據(jù)災(zāi)難?;謴?fù)是在意外發(fā)生之后,利用備份來恢復(fù)數(shù)據(jù)庫的操作。良好的備份策略是數(shù)據(jù)庫安全運行的保證,是每一個數(shù)據(jù)庫管理員必須認真調(diào)查和仔細規(guī)劃才能完成的任務(wù)。備份數(shù)據(jù)庫12/11/20222備份和恢復(fù)是數(shù)據(jù)庫管理人員維護數(shù)據(jù)庫安全性和完整性的重要操作備份就是對SQLServer數(shù)據(jù)庫或事務(wù)日志進行備份,數(shù)據(jù)庫備份記錄了在進行備份這一操作時數(shù)據(jù)庫中所有數(shù)據(jù)的狀態(tài),以便在數(shù)據(jù)庫遭到破壞時能夠及時地將其恢復(fù)。數(shù)據(jù)庫的破壞是難以預(yù)測的,因此必須采取能夠恢復(fù)數(shù)據(jù)庫的措施。一般地,造成數(shù)據(jù)丟失的常見原因包括:誤執(zhí)行了刪除操作;破壞性病毒;自然災(zāi)害;硬件系統(tǒng)或軟件系統(tǒng)的質(zhì)量低劣;盜竊等。為了維護數(shù)據(jù)庫數(shù)據(jù)的完整,SQLServer2000提供了一套功能強大的數(shù)據(jù)備份和恢復(fù)工具。確保能夠在系統(tǒng)出現(xiàn)問題時,及時恢復(fù)數(shù)據(jù)庫中的數(shù)據(jù)。備份是系統(tǒng)管理員的日常工作。但是,只有數(shù)據(jù)庫備份是遠遠不夠的,數(shù)據(jù)庫恢復(fù)也是一項不可缺少的工作,是為了以后能夠順利地將破壞了的數(shù)據(jù)庫安全地恢復(fù)的基礎(chǔ)性工作。在系統(tǒng)中,應(yīng)該指定專人負責(zé)數(shù)據(jù)庫的備份工作。只有下列角色的成員才可以備份數(shù)據(jù)庫:固定服務(wù)器角色sysadmin(系統(tǒng)管理員)固定數(shù)據(jù)庫角色db_owner(數(shù)據(jù)庫所有者)固定數(shù)據(jù)庫角色db_backupoperator(數(shù)據(jù)庫備份執(zhí)行者)12/11/20223備份就是對SQLServer數(shù)據(jù)庫或事務(wù)日志進行備份,數(shù)據(jù)備份設(shè)備類型備份類型備份的策略操作數(shù)據(jù)庫備份設(shè)備備份數(shù)據(jù)庫12/11/20224備份設(shè)備類型數(shù)據(jù)庫備份設(shè)備12/11/20224備份設(shè)備是指用于存放備份數(shù)據(jù)的設(shè)備。創(chuàng)建備份時,必須選擇備份設(shè)備。1.磁盤備份設(shè)備是硬盤或其他磁盤存儲媒體上的文件,與常規(guī)操作系統(tǒng)文件一樣。磁盤備份設(shè)備可以定義在數(shù)據(jù)庫服務(wù)器的本地磁盤上,也可以定義在通過網(wǎng)絡(luò)連接的遠程磁帶上。2.命名管道設(shè)備是微軟專門為第三方軟件供應(yīng)商提供的一個備份和恢復(fù)方式。若要將數(shù)據(jù)備份到一個命名管道設(shè)備,必須在BACKUP或RESTORE語句中給出客戶端應(yīng)用程序中使用的命名管道的名字。3.磁帶備份設(shè)備的用法與磁盤設(shè)備相同。但有兩點區(qū)別:磁帶設(shè)備必須直接物理連接在運行SQLServer服務(wù)器上的計算機上;磁帶設(shè)備不支持備份到遠程磁帶設(shè)備上。4.物理和邏輯設(shè)備

物理備份設(shè)備是操作系統(tǒng)用來標(biāo)識備份設(shè)備的名稱,邏輯備份設(shè)備用來標(biāo)識物理備份設(shè)備的別名或公用名稱。備份設(shè)備類型12/11/20225備份設(shè)備是指用于存放備份數(shù)據(jù)的設(shè)備。創(chuàng)建備份時,必須選擇備份物理設(shè)備和邏輯設(shè)備SQLServer使用物理設(shè)備或邏輯設(shè)備兩種方式來標(biāo)識備份設(shè)備。物理備份設(shè)備名主要用來供操作系統(tǒng)對備份設(shè)備進行引用和管理,如:C:\Backups\Accounting\Full.bak。邏輯備份設(shè)備是物理備份設(shè)備的別名,通常比物理備份設(shè)備更能簡單、有效地描述備份設(shè)備的特征。邏輯備份名被永久保存在SQLServer的系統(tǒng)表中。使用邏輯備份設(shè)備名的好處在于可以用一種相對簡單的方式實現(xiàn)對物理邏輯設(shè)備的引用。例如,一個物理備份設(shè)備名可能為C:\Backups\Accounting\Full.bak,但使用邏輯設(shè)備備份名則可以縮寫為Accounting_Backup。在執(zhí)行數(shù)據(jù)庫的備份或恢復(fù)操作過程中,用戶既可以使用邏輯備份設(shè)備名又可以使用物理備份設(shè)備名。12/11/20226物理設(shè)備和邏輯設(shè)備SQLServer使用物理設(shè)備或邏輯設(shè)備備份類型備份是對SQLServer2000的數(shù)據(jù)庫或事務(wù)日志進行備份,數(shù)據(jù)庫備份記錄了在進行備份這一操作時數(shù)據(jù)庫中所有數(shù)據(jù)的狀態(tài),以便在數(shù)據(jù)庫遭到破壞時能夠及時地將其恢復(fù)。SQLServer2000只允許系統(tǒng)管理員、數(shù)據(jù)庫所有者和數(shù)據(jù)庫備份執(zhí)行者備份數(shù)據(jù)庫。SQLServer2000對所要備份內(nèi)容的選項設(shè)置,提供了四種不同的方式:◆完全數(shù)據(jù)庫備份:數(shù)據(jù)庫的完整副本?!舨町悅浞莼蚍Q增量備份:僅復(fù)制自上一次完整數(shù)據(jù)庫備份之后修改過的數(shù)據(jù)庫頁?!羰聞?wù)日志備份:僅復(fù)制事務(wù)日志?!魯?shù)據(jù)庫文件和文件組備份:僅允許恢復(fù)數(shù)據(jù)庫中位于故障磁盤上的那部分。12/11/20227備份類型備份是對SQLServer2000的數(shù)據(jù)庫或事務(wù)SQLServer2000提供了四種不同的備份方式,具體介紹如下。(1)完全數(shù)據(jù)庫備份(Database-complete)。是對所有數(shù)據(jù)庫操作和事務(wù)日志中的事務(wù)進行備份,它可用作系統(tǒng)失敗時恢復(fù)數(shù)據(jù)庫的基礎(chǔ)。完全數(shù)據(jù)庫備份在備份過程中需要占用更多的時間和空間。(2)差異備份或稱增量備份(Database-differential)。差異備份是對最近一次數(shù)據(jù)庫備份以來發(fā)生的數(shù)據(jù)變化進行備份。差異備份的優(yōu)點是速度快,需要的時間少。應(yīng)該經(jīng)常進行差異備份,可以降低丟失數(shù)據(jù)的風(fēng)險。僅復(fù)制自上一次完整數(shù)據(jù)庫備份之后修改過的數(shù)據(jù)庫頁。單獨一個差異備份無法進行數(shù)據(jù)庫的恢復(fù),需要兩個步驟:1)恢復(fù)完全數(shù)據(jù)庫備份。2)恢復(fù)差異備份。12/11/20228SQLServer2000提供了四種不同的備份方式,具體(3)事務(wù)日志備份(Transactionlog)。僅復(fù)制事務(wù)日志。日志備份序列提供了連續(xù)的事務(wù)信息鏈,可支持從數(shù)據(jù)庫、差異或文件備份中快速恢復(fù)。是對數(shù)據(jù)庫發(fā)生的事務(wù)進行備份,包括從上次進行事務(wù)日志備份、差異備份和數(shù)據(jù)庫完全備份之后,所有已經(jīng)完成的事務(wù)。事務(wù)日志備份需要的磁盤空間和備份時間都比數(shù)據(jù)庫備份少得多。差異備份和事務(wù)日志備份都減少了備份數(shù)據(jù)庫所需的時間,但它們之間有一個重要的差別:事務(wù)日志備份含有自上次備份以來對數(shù)據(jù)庫進行的所有修改,而差異備份只能恢復(fù)到最后一次差異備份時的修改。使用事務(wù)日志備份的恢復(fù)需要三個步驟:1)恢復(fù)完全數(shù)據(jù)庫備份。2)恢復(fù)差異備份。3)順序恢復(fù)每次事務(wù)日志備份。12/11/20229(3)事務(wù)日志備份(Transactionlog)。僅復(fù)制(4)數(shù)據(jù)庫文件和文件組備份(FileandFilegroup)。當(dāng)數(shù)據(jù)庫非常龐大時,可以執(zhí)行數(shù)據(jù)庫文件或文件組備份,文件備份可以備份部分?jǐn)?shù)據(jù)庫,而不是整個數(shù)據(jù)庫。當(dāng)SQLServer2000系統(tǒng)備份文件或文件組時,可以指定需要備份的文件,最多指定16個文件或文件組。當(dāng)時間限制使得完整數(shù)據(jù)庫備份不切實際時,可使用BACKUP備份數(shù)據(jù)庫文件和文件組,而不是備份完整數(shù)據(jù)庫。12/11/202210(4)數(shù)據(jù)庫文件和文件組備份(FileandFilegr備份策略包括確定備份類型、備份頻率何時備份、備份哪些內(nèi)容、備份到何處以及如何備份等。設(shè)計備份策略的指導(dǎo)思想是:以最小的代價恢復(fù)數(shù)據(jù)。定期備份數(shù)據(jù)庫是最穩(wěn)妥的防止磁盤故障(主要是系統(tǒng)發(fā)生故障)的方法,它能有效的恢復(fù)數(shù)據(jù),這是一種比較兼價的保險形式,同時也是最簡單的確保能恢復(fù)大部分信息的方法。建立一個完整的備份策略需要考慮很多因素,包括:備份周期。使用靜態(tài)備份還是動態(tài)備份。僅使用全備份還是共同使用全備份和增量備份。使用什么介質(zhì)。使用人工備份還是設(shè)計好的自動備份程序。檢驗備份完整性的周期。備份存儲的空間是否防竊、防磁干擾、防火。是否指定其他人實行備份,他們是否享有必要的登錄號和口令。在負責(zé)備份和恢復(fù)的主要人員缺席的情況下,是否有其他人能代替他們。備份的策略12/11/202211備份策略包括確定備份類型、備份頻率何時備份、備份哪些內(nèi)容、備備份策略應(yīng)用情景描述完全數(shù)據(jù)庫備份策略數(shù)據(jù)庫比較小數(shù)據(jù)庫的數(shù)據(jù)很少修改或只讀事務(wù)日志滿了完全數(shù)據(jù)庫和事務(wù)日志備份策略頻繁修改的數(shù)據(jù)庫最流行的備份策略增量備份策略為了加快數(shù)據(jù)庫的恢復(fù)時間不需要捕捉數(shù)據(jù)庫事務(wù)日志中的任何變化數(shù)據(jù)庫文件或文件組備份策略海量數(shù)據(jù)庫需要和事務(wù)日志備份結(jié)合起來使用12/11/202212備份策略應(yīng)用情景描述完全數(shù)據(jù)庫備份策略數(shù)據(jù)庫比較小完全數(shù)據(jù)庫由于SQLServer2000支持在線備份,所以通常情況下可以一邊進行備份,一邊進行其他操作,但是在備份過程中不允許執(zhí)行以下操作:(1)創(chuàng)建或刪除數(shù)據(jù)庫文件。(2)創(chuàng)建索引。(3)執(zhí)行非日志操作。(4)自動或手工縮小數(shù)據(jù)庫或數(shù)據(jù)庫文件大小。12/11/202213由于SQLServer2000支持在線備份,所以通常情況

1.使用企業(yè)管理器創(chuàng)建邏輯磁盤備份設(shè)備(1)打開企業(yè)管理器,展開服務(wù)器上的【管理】文件夾。(2)右鍵單擊【備份】,在彈出的快捷菜單中選【新建備份設(shè)備】命令。(3)在打開的對話框的【名稱】框中輸入備份設(shè)備的名稱。(4)單擊【文件名】,然后輸入磁盤備份設(shè)備所使用的文件名,或者單擊【瀏覽...】按鈕顯示【備份設(shè)備位置】對話框,再選擇磁盤備份設(shè)備所使用的本地計算機上的物理文件。(5)單擊【確定】按鈕,完成創(chuàng)建備份設(shè)備。操作:數(shù)據(jù)庫備份設(shè)備12/11/2022141.使用企業(yè)管理器創(chuàng)建邏輯磁盤備份設(shè)備操作:數(shù)據(jù)12/11/20221512/11/202215

2.使用系統(tǒng)存儲過程sp_addumpdevice創(chuàng)建數(shù)據(jù)庫備份設(shè)備語法格式:sp_addumpdevice{‘device_type’}[,’logical_name’][,’physical_name’]其中:device_type表示設(shè)備類型,其值可為disk、pipe和tape;logical_name表示設(shè)備的邏輯名稱;physical_name表示設(shè)備的實際名稱(路徑和文件名)。【例】創(chuàng)建一個通過網(wǎng)絡(luò)連接的備份設(shè)備USEmasterGOEXECUTEsp_addumpdevice‘disk’,‘networkdevice’,‘\\servername\sharename\path\filename.ext’GO12/11/2022162.使用系統(tǒng)存儲過程sp_addumpdevice創(chuàng)建【示例】在D:\SQL\BACKUP下創(chuàng)建一個名為jxcjgl_backup的磁盤類型的備份設(shè)備。EXECsp_addumpdevice'disk','jxcjgl_backup','D:\SQL\BACKUP\jxcjgl_backup.bak'【示例】使用系統(tǒng)存儲過程新建一個名為“備份設(shè)備_圖書BACK”的備份設(shè)備并將其映射成為磁盤文件“D:\數(shù)據(jù)\備份設(shè)備_圖書BACK.BAK”。USEmasterGOEXECUTEsp_addumpdevice'disk','備份設(shè)備_圖書BACK','D:\數(shù)據(jù)\備份設(shè)備_圖書BACK.BAK'12/11/202217【示例】在D:\SQL\BACKUP下創(chuàng)建一個名為jxcj刪除備份設(shè)備使用系統(tǒng)存儲過程sp_dropdevice語句來刪除備份設(shè)備?!臼纠渴褂孟到y(tǒng)存儲過程刪除備份設(shè)備“備份設(shè)備_圖書BACK”。USEmasterGOEXECUTEsp_dropdevice'備份設(shè)備_圖書BACK'12/11/202218刪除備份設(shè)備12/11/202218

1.使用企業(yè)管理器創(chuàng)建數(shù)據(jù)庫備份 步驟:(1)打開企業(yè)管理器,展開服務(wù)器,選中指定的數(shù)據(jù)庫。(2)右鍵單擊要進行備份的數(shù)據(jù)庫圖標(biāo),在彈出的快捷菜單中選擇【所有任務(wù)】,再選擇【備份數(shù)據(jù)庫】。(3)選擇備份的數(shù)據(jù)庫,輸入備份的名稱和備份的描述,選擇備份的類型。(4)單擊【添加】按鈕選擇要備份的設(shè)備。(5)選擇在設(shè)備上進行操作的方式。(6)對備份的時間表進行設(shè)置。(7)單擊【確定】按鈕,完成數(shù)據(jù)庫備份。操作:備份數(shù)據(jù)庫12/11/2022191.使用企業(yè)管理器創(chuàng)建數(shù)據(jù)庫備份操作:備份數(shù)據(jù)庫12/12/11/20222012/11/202220重寫:選擇在設(shè)備上進行操作的方式追加到媒體:將新的備份添加到備份設(shè)備中以前備份的后面(不影響原來的備份)改寫現(xiàn)有媒體:用新的備份覆蓋原來的備份調(diào)度:用戶可以擬定自動進行備份操作的時間12/11/202221重寫:選擇在設(shè)備上進行操作的方式12/11/2022212.使用T-SQL語句創(chuàng)建數(shù)據(jù)庫備份使用BACKUPDATABASE命令:BACKUPDATABASE數(shù)據(jù)庫名[文件或文件組[,...n]]TO備份設(shè)備[,...n][WITHDIFFERENTIAL]其中,WITHDIFFERENTIAL表示增量備份【示例】先創(chuàng)建d:\sql\backup\目錄,將[教學(xué)成績管理數(shù)據(jù)庫]備份到上例創(chuàng)建備份設(shè)備jxcjgl_backup該設(shè)備。backupdatabase教學(xué)成績管理數(shù)據(jù)庫tojxcjgl_backup【示例】將[教學(xué)成績管理數(shù)據(jù)庫]備份到磁盤文件中。backupdatabase教學(xué)成績管理數(shù)據(jù)庫todisk='d:\sql\backup\jxcjgl_backup.bak'12/11/2022222.使用T-SQL語句創(chuàng)建數(shù)據(jù)庫備份12/11/2022進行日志文件備份的語法:BACKUPLOG數(shù)據(jù)庫名[文件或文件組[,...n]]TO備份設(shè)備[,...n][WITHNO_TRUNCATE]其中,WITHNO_TRUNCATE表示在完成事務(wù)日志備份后,并不清空原有日志的數(shù)據(jù)。這個選項可以用在當(dāng)數(shù)據(jù)庫遭到損壞或數(shù)據(jù)庫被標(biāo)識為可疑時進行日志的備份。12/11/202223進行日志文件備份的語法:12/11/202223A.備份整個MyNwind數(shù)據(jù)庫

說明

MyNwind數(shù)據(jù)庫僅用于演示。下例創(chuàng)建用于存放MyNwind數(shù)據(jù)庫完整備份的邏輯備份設(shè)備。--CreatealogicalbackupdeviceforthefullMyNwindbackup.USEmasterEXECsp_addumpdevice'disk','MyNwind_1',DISK='c:\ProgramFiles\MicrosoftSQLServer\MSSQL\BACKUP\MyNwind_1.dat'--BackupthefullMyNwinddatabase.BACKUPDATABASEMyNwindTOMyNwind_1B.備份數(shù)據(jù)庫和日志本例創(chuàng)建了一個數(shù)據(jù)庫和日志的完整備份。將數(shù)據(jù)庫備份到稱為MyNwind_2的邏輯備份設(shè)備上,然后將日志備份到稱為MyNwindLog1的邏輯備份設(shè)備上。說明

創(chuàng)建邏輯備份設(shè)備需要一次完成。--CreatethebackupdeviceforthefullMyNwindbackup.USEmasterEXECsp_addumpdevice'disk','MyNwind_2','c:\ProgramFiles\MicrosoftSQLServer\MSSQL\BACKUP\MyNwind_2.dat‘--Createthelogbackupdevice.USEmasterEXECsp_addumpdevice'disk','MyNwindLog1','c:\ProgramFiles\MicrosoftSQLServer\MSSQL\BACKUP\MyNwindLog1.dat'--BackupthefullMyNwinddatabase.BACKUPDATABASEMyNwindTOMyNwind_2--Updateactivityhasoccurredsincethefulldatabasebackup.--BackupthelogoftheMyNwinddatabase.BACKUPLOGMyNwindTOMyNwindLog112/11/202224A.備份整個MyNwind數(shù)據(jù)庫12/11/202恢復(fù)數(shù)據(jù)庫

數(shù)據(jù)庫的恢復(fù)模型

恢復(fù)數(shù)據(jù)庫的方法12/11/202225恢復(fù)數(shù)據(jù)庫數(shù)據(jù)庫的恢復(fù)模型12/11/202225數(shù)據(jù)庫的恢復(fù)模型是數(shù)據(jù)庫遭到破壞時恢復(fù)用于數(shù)據(jù)庫中數(shù)據(jù)的數(shù)據(jù)存儲方式。每一種恢復(fù)模型都按照不同的方式維護數(shù)據(jù)庫中的數(shù)據(jù)和日志。在MicrosoftSQLServer2000系統(tǒng)中,提供了三種數(shù)據(jù)庫的恢復(fù)模型:完全恢復(fù)模型大容量日志記錄的恢復(fù)模型簡單恢復(fù)模型數(shù)據(jù)庫的恢復(fù)模型12/11/202226數(shù)據(jù)庫的恢復(fù)模型是數(shù)據(jù)庫遭到破壞時恢復(fù)用于數(shù)據(jù)庫中數(shù)據(jù)的數(shù)據(jù)◆完全恢復(fù)模型完全恢復(fù)模型向你提供了最大的恢復(fù)靈活性。新數(shù)據(jù)庫默認使用的就是這種恢復(fù)模型。利用這種模型,你可以恢復(fù)數(shù)據(jù)庫的一部分或者完全恢復(fù)。假設(shè)交易記錄(transactionslog)還沒有被破壞,你還可以在失敗之前恢復(fù)出最后一次的已提交(committed)交易。在所有的恢復(fù)模型中,這種模型使用了最多的交易記錄空間(即耗費大量的磁盤空間),并輕微影響了SQLServer的性能。除非是那種事務(wù)日志非常重要的數(shù)據(jù)庫備份策略,一般不使用這種模型。12/11/202227◆完全恢復(fù)模型12/11/202227◆大容量日志記錄的恢復(fù)模型大容量日志記錄的恢復(fù)模型也使用數(shù)據(jù)庫備份和日志備份來恢復(fù)數(shù)據(jù)庫,比FULL模型少了一些恢復(fù)選項,但是進行批操作(bulkoperation)時它不會嚴(yán)重影響性能。在進行某些批操作時,由于它只需記錄操作的結(jié)果,因此它使用了較少的記錄空間(即事務(wù)日志耗費的磁盤空間遠遠小于完全恢復(fù)模型)。然而,用這種模型,你不能恢復(fù)數(shù)據(jù)庫中的特定標(biāo)記,也不能僅僅恢復(fù)數(shù)據(jù)庫的一部分。12/11/202228◆大容量日志記錄的恢復(fù)模型12/11/202228◆簡單恢復(fù)模型簡單恢復(fù)模型是這三種模型中最容易實施的,它所占用的存儲空間也最小。然而,你只能恢復(fù)出備份結(jié)束時刻的數(shù)據(jù)庫。對于那些規(guī)模比較小或數(shù)據(jù)不經(jīng)常改變的數(shù)據(jù)庫來說,可以使用簡單恢復(fù)模型。12/11/202229◆簡單恢復(fù)模型12/11/202229可以使用ALTERDATABASE命令設(shè)置數(shù)據(jù)庫的恢復(fù)模型。【例】設(shè)置數(shù)據(jù)庫的恢復(fù)模型USEmasterGO/*設(shè)置Northwind數(shù)據(jù)庫的恢復(fù)模型為完全恢復(fù)模型*/ALTERDATABASENorthwindSETRECOVERYFULLGO/*設(shè)置pubs數(shù)據(jù)庫的恢復(fù)模型為大容量日志記錄的恢復(fù)模型*/ALTERDATABASEpubsSETRECOVERYBULK_LOGGEDGO/*設(shè)置aaaa數(shù)據(jù)庫的恢復(fù)模型為簡單恢復(fù)模型*/ALTERDATABASEaaaaSETRECOVERYSIMPLEGO12/11/202230可以使用ALTERDATABASE命令設(shè)置數(shù)據(jù)庫的恢復(fù)模型恢復(fù)數(shù)據(jù)庫是指將數(shù)據(jù)庫備份重新加載到系統(tǒng)中的過程。系統(tǒng)在恢復(fù)數(shù)據(jù)庫的過程中,自動執(zhí)行安全性檢查、重建數(shù)據(jù)庫結(jié)構(gòu)及完成填寫數(shù)據(jù)庫內(nèi)容。SQLServer2000提供了兩種方法來恢復(fù)數(shù)據(jù)庫,即使用企業(yè)管理器或者使用Transact-SQL語句。恢復(fù)數(shù)據(jù)庫的方法12/11/202231恢復(fù)數(shù)據(jù)庫是指將數(shù)據(jù)庫備份重新加載到系統(tǒng)中的過程。系統(tǒng)在恢復(fù)恢復(fù)操作前的準(zhǔn)備工作在執(zhí)行數(shù)據(jù)庫恢復(fù)操作之前,必須限制用戶對數(shù)據(jù)庫的訪問以及備份事務(wù)日志。數(shù)據(jù)庫的備份是動態(tài)的,但是數(shù)據(jù)庫的恢復(fù)是靜態(tài)的。因此,在執(zhí)行數(shù)據(jù)庫的操作之前,此應(yīng)該設(shè)置數(shù)據(jù)庫的“限制訪問”選項。12/11/202232恢復(fù)操作前的準(zhǔn)備工作在執(zhí)行數(shù)據(jù)庫恢復(fù)操作之前,必須限制用戶對1.利用企業(yè)管理器恢復(fù)數(shù)據(jù)庫(1)打開企業(yè)管理服務(wù)器,展開服務(wù)器組,展開服務(wù)器。(2)右擊數(shù)據(jù)庫,在快捷菜單中選【所有任務(wù)】,再選【還原數(shù)據(jù)庫】。(3)在【還原為數(shù)據(jù)庫】列表框中,選擇要恢復(fù)的數(shù)據(jù)庫名稱。(4)在還原選項欄中單擊【數(shù)據(jù)庫】單選按鈕。(5)在【要還原的第一個備份】列表中,選擇要恢復(fù)的備份集。(6)在【還原】列表中,單擊要恢復(fù)的數(shù)據(jù)庫備份。(7)單擊【確定】按鈕,則開始恢復(fù)。恢復(fù)數(shù)據(jù)庫12/11/2022331.利用企業(yè)管理器恢復(fù)數(shù)據(jù)庫恢復(fù)數(shù)據(jù)庫12/11/20212/11/20223412/11/202234在【參數(shù)】選項組中,用戶可以選擇可以利用哪個數(shù)據(jù)庫備份來執(zhí)行數(shù)據(jù)庫的恢復(fù)操作。如果是利用事務(wù)日志來進行恢復(fù),還可以選擇恢復(fù)數(shù)據(jù)庫到某一指定時刻的狀態(tài)。在下面的列表框中,顯示了當(dāng)前數(shù)據(jù)庫可以利用的備份。12/11/202235在【參數(shù)】選項組中,用戶可以選擇可以利用哪個數(shù)據(jù)庫備份來執(zhí)行2.使用T-SQL語句恢復(fù)數(shù)據(jù)庫 語法格式: RESTOREDATABASE數(shù)據(jù)庫名[FROM備份設(shè)備[,...n]]【示例】用上例所做的備份恢復(fù)[教學(xué)成績管理數(shù)據(jù)庫]restoredatabase教學(xué)成績管理數(shù)據(jù)庫fromjxcjgl_backup【示例】用上例所做的備份恢復(fù)[教學(xué)成績管理數(shù)據(jù)庫]restoredatabase教學(xué)成績管理數(shù)據(jù)庫fromdisk='d:\sql\backup\jxcjgl_backup.bak'12/11/2022362.使用T-SQL語句恢復(fù)數(shù)據(jù)庫12/11/202236【示例】

說明

所有的示例均假定已執(zhí)行了完整數(shù)據(jù)庫備份。A.還原完整數(shù)據(jù)庫

說明

MyNwind數(shù)據(jù)庫僅供舉例說明。下例顯示還原完整數(shù)據(jù)庫備份。RESTOREDATABASEMyNwindFROMMyNwind_1B.還原完整數(shù)據(jù)庫備份和差異備份下例還原完整數(shù)據(jù)庫備份后還原差異備份。另外,下例還說明如何還原媒體上的另一個備份集。差異備份追加到包含完整數(shù)據(jù)庫備份的備份設(shè)備上。RESTOREDATABASEMyNwindFROMMyNwind_1WITHNORECOVERYRESTOREDATABASEMyNwindFROMMyNwind_1WITHFILE=212/11/202237【示例】12/11/202237分離和附加數(shù)據(jù)庫的操作可以將數(shù)據(jù)庫從一臺計算機移到另一臺計算機上,而不必重新創(chuàng)建數(shù)據(jù)庫,當(dāng)附加到數(shù)據(jù)庫上時,必須指定主數(shù)據(jù)文件的名稱和物理。主文件包含查找由數(shù)據(jù)庫組成的其他文件所需的信息。如果存儲的文件位置發(fā)生了變化,就需要手工指定次要數(shù)據(jù)文件和日志文件的存儲位置。數(shù)據(jù)庫分離與附加12/11/202238分離和附加數(shù)據(jù)庫的操作可以將數(shù)據(jù)庫從一臺計算機移到另一臺計算附加數(shù)據(jù)庫就是將存放在硬盤上數(shù)據(jù)庫文件加入到SQLServer服務(wù)器中。附加數(shù)據(jù)庫的步驟:(1)打開企業(yè)管理服務(wù)器,展開服務(wù)器組,展開服務(wù)器。(2)右鍵單擊數(shù)據(jù)庫,選【所有任務(wù)】,再選【附加數(shù)據(jù)庫】命令。(3)在隨后出現(xiàn)的附加數(shù)據(jù)庫對話框中,選擇要附加的數(shù)據(jù)庫的主數(shù)據(jù)文件名及存放位置。(4)單擊【確定】按鈕,完成數(shù)據(jù)庫附加。數(shù)據(jù)庫附加12/11/202239附加數(shù)據(jù)庫就是將存放在硬盤上數(shù)據(jù)庫文件加入到SQLServ12/11/20224012/11/202240一個數(shù)據(jù)庫只能被一個服務(wù)器管理,通過分離數(shù)據(jù)庫可以將數(shù)據(jù)庫與服務(wù)器分離,分離后可以將數(shù)據(jù)庫附加到別的服務(wù)器。分離數(shù)據(jù)庫的步驟:(1)打開企業(yè)管理服務(wù)器,展開服務(wù)器組,展開服務(wù)器。(2)展開數(shù)據(jù)庫文件夾,右鍵單擊要分離的數(shù)據(jù)庫,選【所有任務(wù)】,再選【分離數(shù)據(jù)庫】命令。(3)在隨后出現(xiàn)的分離數(shù)據(jù)庫對話框中單擊【確定】按鈕,則完成數(shù)據(jù)庫分離。數(shù)據(jù)庫分離12/11/202241一個數(shù)據(jù)庫只能被一個服務(wù)器管理,通過分離數(shù)據(jù)庫可以將數(shù)據(jù)庫與12/11/20224212/11/202242練習(xí)1.在MicrosoftSQLServer2000系統(tǒng)中,支持哪些類型的備份介質(zhì)?2.在MicrosoftSQLServer2000系統(tǒng)中,提供哪三種數(shù)據(jù)庫的恢復(fù)模型?3.在pubs數(shù)據(jù)庫的某表中輸入三條新記錄,然后對pubs數(shù)據(jù)庫進行備份。4.如何進行數(shù)據(jù)庫的分離與附加?12/11/202243練習(xí)1.在MicrosoftSQLServer200

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

恢復(fù)數(shù)據(jù)庫

數(shù)據(jù)庫分離與附加

練習(xí)第4章數(shù)據(jù)庫的備份恢復(fù)與分離附加

12/11/202244備份數(shù)據(jù)庫第4章數(shù)據(jù)庫的備份恢復(fù)與分離附加12/11/備份和恢復(fù)是數(shù)據(jù)庫管理人員維護數(shù)據(jù)庫安全性和完整性的重要操作。備份是恢復(fù)受損數(shù)據(jù)庫最容易、把意外損失降低到最小的保障方法。沒有備份,所有的數(shù)據(jù)都有可能丟失。備份可以防止因表和數(shù)據(jù)庫遭受破壞、介質(zhì)失效或用戶錯誤而造成的數(shù)據(jù)災(zāi)難?;謴?fù)是在意外發(fā)生之后,利用備份來恢復(fù)數(shù)據(jù)庫的操作。良好的備份策略是數(shù)據(jù)庫安全運行的保證,是每一個數(shù)據(jù)庫管理員必須認真調(diào)查和仔細規(guī)劃才能完成的任務(wù)。備份數(shù)據(jù)庫12/11/202245備份和恢復(fù)是數(shù)據(jù)庫管理人員維護數(shù)據(jù)庫安全性和完整性的重要操作備份就是對SQLServer數(shù)據(jù)庫或事務(wù)日志進行備份,數(shù)據(jù)庫備份記錄了在進行備份這一操作時數(shù)據(jù)庫中所有數(shù)據(jù)的狀態(tài),以便在數(shù)據(jù)庫遭到破壞時能夠及時地將其恢復(fù)。數(shù)據(jù)庫的破壞是難以預(yù)測的,因此必須采取能夠恢復(fù)數(shù)據(jù)庫的措施。一般地,造成數(shù)據(jù)丟失的常見原因包括:誤執(zhí)行了刪除操作;破壞性病毒;自然災(zāi)害;硬件系統(tǒng)或軟件系統(tǒng)的質(zhì)量低劣;盜竊等。為了維護數(shù)據(jù)庫數(shù)據(jù)的完整,SQLServer2000提供了一套功能強大的數(shù)據(jù)備份和恢復(fù)工具。確保能夠在系統(tǒng)出現(xiàn)問題時,及時恢復(fù)數(shù)據(jù)庫中的數(shù)據(jù)。備份是系統(tǒng)管理員的日常工作。但是,只有數(shù)據(jù)庫備份是遠遠不夠的,數(shù)據(jù)庫恢復(fù)也是一項不可缺少的工作,是為了以后能夠順利地將破壞了的數(shù)據(jù)庫安全地恢復(fù)的基礎(chǔ)性工作。在系統(tǒng)中,應(yīng)該指定專人負責(zé)數(shù)據(jù)庫的備份工作。只有下列角色的成員才可以備份數(shù)據(jù)庫:固定服務(wù)器角色sysadmin(系統(tǒng)管理員)固定數(shù)據(jù)庫角色db_owner(數(shù)據(jù)庫所有者)固定數(shù)據(jù)庫角色db_backupoperator(數(shù)據(jù)庫備份執(zhí)行者)12/11/202246備份就是對SQLServer數(shù)據(jù)庫或事務(wù)日志進行備份,數(shù)據(jù)備份設(shè)備類型備份類型備份的策略操作數(shù)據(jù)庫備份設(shè)備備份數(shù)據(jù)庫12/11/202247備份設(shè)備類型數(shù)據(jù)庫備份設(shè)備12/11/20224備份設(shè)備是指用于存放備份數(shù)據(jù)的設(shè)備。創(chuàng)建備份時,必須選擇備份設(shè)備。1.磁盤備份設(shè)備是硬盤或其他磁盤存儲媒體上的文件,與常規(guī)操作系統(tǒng)文件一樣。磁盤備份設(shè)備可以定義在數(shù)據(jù)庫服務(wù)器的本地磁盤上,也可以定義在通過網(wǎng)絡(luò)連接的遠程磁帶上。2.命名管道設(shè)備是微軟專門為第三方軟件供應(yīng)商提供的一個備份和恢復(fù)方式。若要將數(shù)據(jù)備份到一個命名管道設(shè)備,必須在BACKUP或RESTORE語句中給出客戶端應(yīng)用程序中使用的命名管道的名字。3.磁帶備份設(shè)備的用法與磁盤設(shè)備相同。但有兩點區(qū)別:磁帶設(shè)備必須直接物理連接在運行SQLServer服務(wù)器上的計算機上;磁帶設(shè)備不支持備份到遠程磁帶設(shè)備上。4.物理和邏輯設(shè)備

物理備份設(shè)備是操作系統(tǒng)用來標(biāo)識備份設(shè)備的名稱,邏輯備份設(shè)備用來標(biāo)識物理備份設(shè)備的別名或公用名稱。備份設(shè)備類型12/11/202248備份設(shè)備是指用于存放備份數(shù)據(jù)的設(shè)備。創(chuàng)建備份時,必須選擇備份物理設(shè)備和邏輯設(shè)備SQLServer使用物理設(shè)備或邏輯設(shè)備兩種方式來標(biāo)識備份設(shè)備。物理備份設(shè)備名主要用來供操作系統(tǒng)對備份設(shè)備進行引用和管理,如:C:\Backups\Accounting\Full.bak。邏輯備份設(shè)備是物理備份設(shè)備的別名,通常比物理備份設(shè)備更能簡單、有效地描述備份設(shè)備的特征。邏輯備份名被永久保存在SQLServer的系統(tǒng)表中。使用邏輯備份設(shè)備名的好處在于可以用一種相對簡單的方式實現(xiàn)對物理邏輯設(shè)備的引用。例如,一個物理備份設(shè)備名可能為C:\Backups\Accounting\Full.bak,但使用邏輯設(shè)備備份名則可以縮寫為Accounting_Backup。在執(zhí)行數(shù)據(jù)庫的備份或恢復(fù)操作過程中,用戶既可以使用邏輯備份設(shè)備名又可以使用物理備份設(shè)備名。12/11/202249物理設(shè)備和邏輯設(shè)備SQLServer使用物理設(shè)備或邏輯設(shè)備備份類型備份是對SQLServer2000的數(shù)據(jù)庫或事務(wù)日志進行備份,數(shù)據(jù)庫備份記錄了在進行備份這一操作時數(shù)據(jù)庫中所有數(shù)據(jù)的狀態(tài),以便在數(shù)據(jù)庫遭到破壞時能夠及時地將其恢復(fù)。SQLServer2000只允許系統(tǒng)管理員、數(shù)據(jù)庫所有者和數(shù)據(jù)庫備份執(zhí)行者備份數(shù)據(jù)庫。SQLServer2000對所要備份內(nèi)容的選項設(shè)置,提供了四種不同的方式:◆完全數(shù)據(jù)庫備份:數(shù)據(jù)庫的完整副本?!舨町悅浞莼蚍Q增量備份:僅復(fù)制自上一次完整數(shù)據(jù)庫備份之后修改過的數(shù)據(jù)庫頁。◆事務(wù)日志備份:僅復(fù)制事務(wù)日志。◆數(shù)據(jù)庫文件和文件組備份:僅允許恢復(fù)數(shù)據(jù)庫中位于故障磁盤上的那部分。12/11/202250備份類型備份是對SQLServer2000的數(shù)據(jù)庫或事務(wù)SQLServer2000提供了四種不同的備份方式,具體介紹如下。(1)完全數(shù)據(jù)庫備份(Database-complete)。是對所有數(shù)據(jù)庫操作和事務(wù)日志中的事務(wù)進行備份,它可用作系統(tǒng)失敗時恢復(fù)數(shù)據(jù)庫的基礎(chǔ)。完全數(shù)據(jù)庫備份在備份過程中需要占用更多的時間和空間。(2)差異備份或稱增量備份(Database-differential)。差異備份是對最近一次數(shù)據(jù)庫備份以來發(fā)生的數(shù)據(jù)變化進行備份。差異備份的優(yōu)點是速度快,需要的時間少。應(yīng)該經(jīng)常進行差異備份,可以降低丟失數(shù)據(jù)的風(fēng)險。僅復(fù)制自上一次完整數(shù)據(jù)庫備份之后修改過的數(shù)據(jù)庫頁。單獨一個差異備份無法進行數(shù)據(jù)庫的恢復(fù),需要兩個步驟:1)恢復(fù)完全數(shù)據(jù)庫備份。2)恢復(fù)差異備份。12/11/202251SQLServer2000提供了四種不同的備份方式,具體(3)事務(wù)日志備份(Transactionlog)。僅復(fù)制事務(wù)日志。日志備份序列提供了連續(xù)的事務(wù)信息鏈,可支持從數(shù)據(jù)庫、差異或文件備份中快速恢復(fù)。是對數(shù)據(jù)庫發(fā)生的事務(wù)進行備份,包括從上次進行事務(wù)日志備份、差異備份和數(shù)據(jù)庫完全備份之后,所有已經(jīng)完成的事務(wù)。事務(wù)日志備份需要的磁盤空間和備份時間都比數(shù)據(jù)庫備份少得多。差異備份和事務(wù)日志備份都減少了備份數(shù)據(jù)庫所需的時間,但它們之間有一個重要的差別:事務(wù)日志備份含有自上次備份以來對數(shù)據(jù)庫進行的所有修改,而差異備份只能恢復(fù)到最后一次差異備份時的修改。使用事務(wù)日志備份的恢復(fù)需要三個步驟:1)恢復(fù)完全數(shù)據(jù)庫備份。2)恢復(fù)差異備份。3)順序恢復(fù)每次事務(wù)日志備份。12/11/202252(3)事務(wù)日志備份(Transactionlog)。僅復(fù)制(4)數(shù)據(jù)庫文件和文件組備份(FileandFilegroup)。當(dāng)數(shù)據(jù)庫非常龐大時,可以執(zhí)行數(shù)據(jù)庫文件或文件組備份,文件備份可以備份部分?jǐn)?shù)據(jù)庫,而不是整個數(shù)據(jù)庫。當(dāng)SQLServer2000系統(tǒng)備份文件或文件組時,可以指定需要備份的文件,最多指定16個文件或文件組。當(dāng)時間限制使得完整數(shù)據(jù)庫備份不切實際時,可使用BACKUP備份數(shù)據(jù)庫文件和文件組,而不是備份完整數(shù)據(jù)庫。12/11/202253(4)數(shù)據(jù)庫文件和文件組備份(FileandFilegr備份策略包括確定備份類型、備份頻率何時備份、備份哪些內(nèi)容、備份到何處以及如何備份等。設(shè)計備份策略的指導(dǎo)思想是:以最小的代價恢復(fù)數(shù)據(jù)。定期備份數(shù)據(jù)庫是最穩(wěn)妥的防止磁盤故障(主要是系統(tǒng)發(fā)生故障)的方法,它能有效的恢復(fù)數(shù)據(jù),這是一種比較兼價的保險形式,同時也是最簡單的確保能恢復(fù)大部分信息的方法。建立一個完整的備份策略需要考慮很多因素,包括:備份周期。使用靜態(tài)備份還是動態(tài)備份。僅使用全備份還是共同使用全備份和增量備份。使用什么介質(zhì)。使用人工備份還是設(shè)計好的自動備份程序。檢驗備份完整性的周期。備份存儲的空間是否防竊、防磁干擾、防火。是否指定其他人實行備份,他們是否享有必要的登錄號和口令。在負責(zé)備份和恢復(fù)的主要人員缺席的情況下,是否有其他人能代替他們。備份的策略12/11/202254備份策略包括確定備份類型、備份頻率何時備份、備份哪些內(nèi)容、備備份策略應(yīng)用情景描述完全數(shù)據(jù)庫備份策略數(shù)據(jù)庫比較小數(shù)據(jù)庫的數(shù)據(jù)很少修改或只讀事務(wù)日志滿了完全數(shù)據(jù)庫和事務(wù)日志備份策略頻繁修改的數(shù)據(jù)庫最流行的備份策略增量備份策略為了加快數(shù)據(jù)庫的恢復(fù)時間不需要捕捉數(shù)據(jù)庫事務(wù)日志中的任何變化數(shù)據(jù)庫文件或文件組備份策略海量數(shù)據(jù)庫需要和事務(wù)日志備份結(jié)合起來使用12/11/202255備份策略應(yīng)用情景描述完全數(shù)據(jù)庫備份策略數(shù)據(jù)庫比較小完全數(shù)據(jù)庫由于SQLServer2000支持在線備份,所以通常情況下可以一邊進行備份,一邊進行其他操作,但是在備份過程中不允許執(zhí)行以下操作:(1)創(chuàng)建或刪除數(shù)據(jù)庫文件。(2)創(chuàng)建索引。(3)執(zhí)行非日志操作。(4)自動或手工縮小數(shù)據(jù)庫或數(shù)據(jù)庫文件大小。12/11/202256由于SQLServer2000支持在線備份,所以通常情況

1.使用企業(yè)管理器創(chuàng)建邏輯磁盤備份設(shè)備(1)打開企業(yè)管理器,展開服務(wù)器上的【管理】文件夾。(2)右鍵單擊【備份】,在彈出的快捷菜單中選【新建備份設(shè)備】命令。(3)在打開的對話框的【名稱】框中輸入備份設(shè)備的名稱。(4)單擊【文件名】,然后輸入磁盤備份設(shè)備所使用的文件名,或者單擊【瀏覽...】按鈕顯示【備份設(shè)備位置】對話框,再選擇磁盤備份設(shè)備所使用的本地計算機上的物理文件。(5)單擊【確定】按鈕,完成創(chuàng)建備份設(shè)備。操作:數(shù)據(jù)庫備份設(shè)備12/11/2022571.使用企業(yè)管理器創(chuàng)建邏輯磁盤備份設(shè)備操作:數(shù)據(jù)12/11/20225812/11/202215

2.使用系統(tǒng)存儲過程sp_addumpdevice創(chuàng)建數(shù)據(jù)庫備份設(shè)備語法格式:sp_addumpdevice{‘device_type’}[,’logical_name’][,’physical_name’]其中:device_type表示設(shè)備類型,其值可為disk、pipe和tape;logical_name表示設(shè)備的邏輯名稱;physical_name表示設(shè)備的實際名稱(路徑和文件名)?!纠縿?chuàng)建一個通過網(wǎng)絡(luò)連接的備份設(shè)備USEmasterGOEXECUTEsp_addumpdevice‘disk’,‘networkdevice’,‘\\servername\sharename\path\filename.ext’GO12/11/2022592.使用系統(tǒng)存儲過程sp_addumpdevice創(chuàng)建【示例】在D:\SQL\BACKUP下創(chuàng)建一個名為jxcjgl_backup的磁盤類型的備份設(shè)備。EXECsp_addumpdevice'disk','jxcjgl_backup','D:\SQL\BACKUP\jxcjgl_backup.bak'【示例】使用系統(tǒng)存儲過程新建一個名為“備份設(shè)備_圖書BACK”的備份設(shè)備并將其映射成為磁盤文件“D:\數(shù)據(jù)\備份設(shè)備_圖書BACK.BAK”。USEmasterGOEXECUTEsp_addumpdevice'disk','備份設(shè)備_圖書BACK','D:\數(shù)據(jù)\備份設(shè)備_圖書BACK.BAK'12/11/202260【示例】在D:\SQL\BACKUP下創(chuàng)建一個名為jxcj刪除備份設(shè)備使用系統(tǒng)存儲過程sp_dropdevice語句來刪除備份設(shè)備?!臼纠渴褂孟到y(tǒng)存儲過程刪除備份設(shè)備“備份設(shè)備_圖書BACK”。USEmasterGOEXECUTEsp_dropdevice'備份設(shè)備_圖書BACK'12/11/202261刪除備份設(shè)備12/11/202218

1.使用企業(yè)管理器創(chuàng)建數(shù)據(jù)庫備份 步驟:(1)打開企業(yè)管理器,展開服務(wù)器,選中指定的數(shù)據(jù)庫。(2)右鍵單擊要進行備份的數(shù)據(jù)庫圖標(biāo),在彈出的快捷菜單中選擇【所有任務(wù)】,再選擇【備份數(shù)據(jù)庫】。(3)選擇備份的數(shù)據(jù)庫,輸入備份的名稱和備份的描述,選擇備份的類型。(4)單擊【添加】按鈕選擇要備份的設(shè)備。(5)選擇在設(shè)備上進行操作的方式。(6)對備份的時間表進行設(shè)置。(7)單擊【確定】按鈕,完成數(shù)據(jù)庫備份。操作:備份數(shù)據(jù)庫12/11/2022621.使用企業(yè)管理器創(chuàng)建數(shù)據(jù)庫備份操作:備份數(shù)據(jù)庫12/12/11/20226312/11/202220重寫:選擇在設(shè)備上進行操作的方式追加到媒體:將新的備份添加到備份設(shè)備中以前備份的后面(不影響原來的備份)改寫現(xiàn)有媒體:用新的備份覆蓋原來的備份調(diào)度:用戶可以擬定自動進行備份操作的時間12/11/202264重寫:選擇在設(shè)備上進行操作的方式12/11/2022212.使用T-SQL語句創(chuàng)建數(shù)據(jù)庫備份使用BACKUPDATABASE命令:BACKUPDATABASE數(shù)據(jù)庫名[文件或文件組[,...n]]TO備份設(shè)備[,...n][WITHDIFFERENTIAL]其中,WITHDIFFERENTIAL表示增量備份【示例】先創(chuàng)建d:\sql\backup\目錄,將[教學(xué)成績管理數(shù)據(jù)庫]備份到上例創(chuàng)建備份設(shè)備jxcjgl_backup該設(shè)備。backupdatabase教學(xué)成績管理數(shù)據(jù)庫tojxcjgl_backup【示例】將[教學(xué)成績管理數(shù)據(jù)庫]備份到磁盤文件中。backupdatabase教學(xué)成績管理數(shù)據(jù)庫todisk='d:\sql\backup\jxcjgl_backup.bak'12/11/2022652.使用T-SQL語句創(chuàng)建數(shù)據(jù)庫備份12/11/2022進行日志文件備份的語法:BACKUPLOG數(shù)據(jù)庫名[文件或文件組[,...n]]TO備份設(shè)備[,...n][WITHNO_TRUNCATE]其中,WITHNO_TRUNCATE表示在完成事務(wù)日志備份后,并不清空原有日志的數(shù)據(jù)。這個選項可以用在當(dāng)數(shù)據(jù)庫遭到損壞或數(shù)據(jù)庫被標(biāo)識為可疑時進行日志的備份。12/11/202266進行日志文件備份的語法:12/11/202223A.備份整個MyNwind數(shù)據(jù)庫

說明

MyNwind數(shù)據(jù)庫僅用于演示。下例創(chuàng)建用于存放MyNwind數(shù)據(jù)庫完整備份的邏輯備份設(shè)備。--CreatealogicalbackupdeviceforthefullMyNwindbackup.USEmasterEXECsp_addumpdevice'disk','MyNwind_1',DISK='c:\ProgramFiles\MicrosoftSQLServer\MSSQL\BACKUP\MyNwind_1.dat'--BackupthefullMyNwinddatabase.BACKUPDATABASEMyNwindTOMyNwind_1B.備份數(shù)據(jù)庫和日志本例創(chuàng)建了一個數(shù)據(jù)庫和日志的完整備份。將數(shù)據(jù)庫備份到稱為MyNwind_2的邏輯備份設(shè)備上,然后將日志備份到稱為MyNwindLog1的邏輯備份設(shè)備上。說明

創(chuàng)建邏輯備份設(shè)備需要一次完成。--CreatethebackupdeviceforthefullMyNwindbackup.USEmasterEXECsp_addumpdevice'disk','MyNwind_2','c:\ProgramFiles\MicrosoftSQLServer\MSSQL\BACKUP\MyNwind_2.dat‘--Createthelogbackupdevice.USEmasterEXECsp_addumpdevice'disk','MyNwindLog1','c:\ProgramFiles\MicrosoftSQLServer\MSSQL\BACKUP\MyNwindLog1.dat'--BackupthefullMyNwinddatabase.BACKUPDATABASEMyNwindTOMyNwind_2--Updateactivityhasoccurredsincethefulldatabasebackup.--BackupthelogoftheMyNwinddatabase.BACKUPLOGMyNwindTOMyNwindLog112/11/202267A.備份整個MyNwind數(shù)據(jù)庫12/11/202恢復(fù)數(shù)據(jù)庫

數(shù)據(jù)庫的恢復(fù)模型

恢復(fù)數(shù)據(jù)庫的方法12/11/202268恢復(fù)數(shù)據(jù)庫數(shù)據(jù)庫的恢復(fù)模型12/11/202225數(shù)據(jù)庫的恢復(fù)模型是數(shù)據(jù)庫遭到破壞時恢復(fù)用于數(shù)據(jù)庫中數(shù)據(jù)的數(shù)據(jù)存儲方式。每一種恢復(fù)模型都按照不同的方式維護數(shù)據(jù)庫中的數(shù)據(jù)和日志。在MicrosoftSQLServer2000系統(tǒng)中,提供了三種數(shù)據(jù)庫的恢復(fù)模型:完全恢復(fù)模型大容量日志記錄的恢復(fù)模型簡單恢復(fù)模型數(shù)據(jù)庫的恢復(fù)模型12/11/202269數(shù)據(jù)庫的恢復(fù)模型是數(shù)據(jù)庫遭到破壞時恢復(fù)用于數(shù)據(jù)庫中數(shù)據(jù)的數(shù)據(jù)◆完全恢復(fù)模型完全恢復(fù)模型向你提供了最大的恢復(fù)靈活性。新數(shù)據(jù)庫默認使用的就是這種恢復(fù)模型。利用這種模型,你可以恢復(fù)數(shù)據(jù)庫的一部分或者完全恢復(fù)。假設(shè)交易記錄(transactionslog)還沒有被破壞,你還可以在失敗之前恢復(fù)出最后一次的已提交(committed)交易。在所有的恢復(fù)模型中,這種模型使用了最多的交易記錄空間(即耗費大量的磁盤空間),并輕微影響了SQLServer的性能。除非是那種事務(wù)日志非常重要的數(shù)據(jù)庫備份策略,一般不使用這種模型。12/11/202270◆完全恢復(fù)模型12/11/202227◆大容量日志記錄的恢復(fù)模型大容量日志記錄的恢復(fù)模型也使用數(shù)據(jù)庫備份和日志備份來恢復(fù)數(shù)據(jù)庫,比FULL模型少了一些恢復(fù)選項,但是進行批操作(bulkoperation)時它不會嚴(yán)重影響性能。在進行某些批操作時,由于它只需記錄操作的結(jié)果,因此它使用了較少的記錄空間(即事務(wù)日志耗費的磁盤空間遠遠小于完全恢復(fù)模型)。然而,用這種模型,你不能恢復(fù)數(shù)據(jù)庫中的特定標(biāo)記,也不能僅僅恢復(fù)數(shù)據(jù)庫的一部分。12/11/202271◆大容量日志記錄的恢復(fù)模型12/11/202228◆簡單恢復(fù)模型簡單恢復(fù)模型是這三種模型中最容易實施的,它所占用的存儲空間也最小。然而,你只能恢復(fù)出備份結(jié)束時刻的數(shù)據(jù)庫。對于那些規(guī)模比較小或數(shù)據(jù)不經(jīng)常改變的數(shù)據(jù)庫來說,可以使用簡單恢復(fù)模型。12/11/202272◆簡單恢復(fù)模型12/11/202229可以使用ALTERDATABASE命令設(shè)置數(shù)據(jù)庫的恢復(fù)模型?!纠吭O(shè)置數(shù)據(jù)庫的恢復(fù)模型USEmasterGO/*設(shè)置Northwind數(shù)據(jù)庫的恢復(fù)模型為完全恢復(fù)模型*/ALTERDATABASENorthwindSETRECOVERYFULLGO/*設(shè)置pubs數(shù)據(jù)庫的恢復(fù)模型為大容量日志記錄的恢復(fù)模型*/ALTERDATABASEpubsSETRECOVERYBULK_LOGGEDGO/*設(shè)置aaaa數(shù)據(jù)庫的恢復(fù)模型為簡單恢復(fù)模型*/ALTERDATABASEaaaaSETRECOVERYSIMPLEGO12/11/202273可以使用ALTERDATABASE命令設(shè)置數(shù)據(jù)庫的恢復(fù)模型恢復(fù)數(shù)據(jù)庫是指將數(shù)據(jù)庫備份重新加載到系統(tǒng)中的過程。系統(tǒng)在恢復(fù)數(shù)據(jù)庫的過程中,自動執(zhí)行安全性檢查、重建數(shù)據(jù)庫結(jié)構(gòu)及完成填寫數(shù)據(jù)庫內(nèi)容。SQLServer2000提供了兩種方法來恢復(fù)數(shù)據(jù)庫,即使用企業(yè)管理器或者使用Transact-SQL語句。恢復(fù)數(shù)據(jù)庫的方法12/11/202274恢復(fù)數(shù)據(jù)庫是指將數(shù)據(jù)庫備份重新加載到系統(tǒng)中的過程

溫馨提示

  • 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

提交評論