版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、1,第8章 數(shù)據(jù)保護之數(shù)據(jù)庫的備份與還原,備份數(shù)據(jù)庫,二、,恢復(fù)數(shù)據(jù)庫,三、,備份和還原構(gòu)架,一、,數(shù)據(jù)庫的維護,四、,2,一、備份和還原構(gòu)架,為什么要備份和還原? 因為故障是不可避免的,而故障會帶來數(shù)據(jù)的丟失和損壞。為了保證數(shù)據(jù)庫的安全性,防止數(shù)據(jù)庫中數(shù)據(jù)的意外丟失,應(yīng)經(jīng)常對數(shù)據(jù)庫中的數(shù)據(jù)進行備份,以便在數(shù)據(jù)庫出故障的時候進行及時有效的恢復(fù)。 計算機硬件故障 系統(tǒng)軟件和應(yīng)用軟件的錯誤 操作員的失誤 病毒或惡意的破壞 .,3,恢復(fù)操作的基本原理:冗余 利用存儲在系統(tǒng)其它地方的冗余數(shù)據(jù)來重建數(shù)據(jù)庫中已被破壞或不正確的那部分數(shù)據(jù) 恢復(fù)機制涉及的關(guān)鍵問題 1. 如何建立冗余數(shù)據(jù) 數(shù)據(jù)備份 登錄日志文
2、件備份 2. 如何利用這些冗余數(shù)據(jù)實施數(shù)據(jù)庫恢復(fù),4,什么是日志文件?,日志文件(log)是用來記錄事務(wù)對數(shù)據(jù)庫的更新操作的文件。 必須先寫日志文件,后寫數(shù)據(jù)庫 寫日志文件操作:把表示這個修改的日志記錄 寫到日志文件。 寫數(shù)據(jù)庫操作:把對數(shù)據(jù)的修改寫到數(shù)據(jù)庫中,故障發(fā)生點 靜態(tài)轉(zhuǎn)儲 運行事務(wù) 正常運行 Ta Tb Tf 登記日志文件 重裝后備副本 利用日志文件恢復(fù)事務(wù) 繼續(xù)運行 介質(zhì)故障恢復(fù) 登記日志文件 ,5,為什么要先寫日志文件 寫數(shù)據(jù)庫和寫日志文件是兩個不同的操作,在這兩個操作之間可能發(fā)生故障。 如果先寫了數(shù)據(jù)庫修改,而在日志文件中沒有登記下這個修改,則以后就無法恢復(fù)這個修改了;如果先寫
3、日志,但沒有修改數(shù)據(jù)庫,按日志文件恢復(fù)時只不過是多執(zhí)行一次不必要的UNDO操作,并不會影響數(shù)據(jù)庫的正確性,6,DBA應(yīng)制定備份和還原計劃:,應(yīng)定期進行數(shù)據(jù)轉(zhuǎn)儲,制作后備副本。 但轉(zhuǎn)儲又是十分耗費時間和資源的,不能頻繁進行。 DBA應(yīng)該根據(jù)數(shù)據(jù)庫使用情況確定適當?shù)霓D(zhuǎn)儲周期和轉(zhuǎn)儲方法。 例: 每天晚上進行動態(tài)增量轉(zhuǎn)儲 每周進行一次動態(tài)海量轉(zhuǎn)儲 每月進行一次靜態(tài)海量轉(zhuǎn)儲,7,(一)備份概述,備份內(nèi)容,系統(tǒng)數(shù)據(jù)庫 用戶數(shù)據(jù)庫 事務(wù)日志,備份方式 (備份類型 ),完全數(shù)據(jù)庫備份 差異數(shù)據(jù)庫備份 事務(wù)日志備份 數(shù)據(jù)庫文件和文件組備份,二、 備份數(shù)據(jù)庫,備份設(shè)備類型,磁盤設(shè)備 磁帶設(shè)備 其它設(shè)備,8,1.
4、完全數(shù)據(jù)庫備份 備份數(shù)據(jù)庫的所有表的數(shù)據(jù)及模式,以及對應(yīng)的文件結(jié)構(gòu),包括對事務(wù)日志中的事務(wù)進行備份。 2. 差異數(shù)據(jù)庫備份 只記錄自上次完全數(shù)據(jù)庫備份后發(fā)生更改的數(shù)據(jù)。差異備份的數(shù)據(jù)量比完全備份小而且備份速度快,因此可以更經(jīng)常地備份,經(jīng)常備份將減少丟失數(shù)據(jù)的危險。,9,3. 事務(wù)日志備份 事務(wù)日志是自上次備份事務(wù)日志后對數(shù)據(jù)庫執(zhí)行的所有事務(wù)的一系列記錄。事務(wù)日志備份只考慮在日志中所記錄的變化,是基于邏輯操作的備份??梢允褂檬聞?wù)日志備份將數(shù)據(jù)庫恢復(fù)到特定的即時點或恢復(fù)到故障點。 4. 數(shù)據(jù)庫文件和文件組備份 只備份特定的文件或文件組,常用于超大型數(shù)據(jù)庫的備份。,10,SQL Server恢復(fù)模型
5、的備份類型,1。完全數(shù)據(jù)庫備份和恢復(fù) 2。完全+差異備份和恢復(fù) 3。完全+日志備份和恢復(fù)(這是DBA常采取的方法),如何選擇備份和恢復(fù)模型?,11,(二) 創(chuàng)建和刪除備份設(shè)備,磁盤備份設(shè)備:指硬盤或其它磁盤存儲介質(zhì)上的文件,與常規(guī)操作系統(tǒng)文件一樣??梢栽诒镜胤?wù)器的磁盤上或遠程共享磁盤上定義磁盤備份設(shè)備。 磁帶備份設(shè)備:磁帶設(shè)備只能物理連接到運行SQL Server實例的計算機上。SQL Server不支持備份到遠程磁帶設(shè)備上。,在進行備份以前一般要指定或創(chuàng)建備份設(shè)備,備份設(shè)備是用來存儲數(shù)據(jù)庫、事務(wù)日志或文件和文件組備份的存儲介質(zhì)。包括磁盤和磁帶設(shè)備。,12,物理設(shè)備名稱:是操作系統(tǒng)用來標識備
6、份設(shè)備的名稱,如“D:MyBackupsStudent.bak”。 邏輯設(shè)備名稱:是用來標識物理備份設(shè)備的別名或公用名稱,用以簡化物理設(shè)備名稱。例如,邏輯設(shè)備名稱可以是“STDBackup”,而物理設(shè)備名稱則是“D:MyBackupsStudent.bak”。,SQL Server使用物理設(shè)備名稱或邏輯設(shè)備名稱來標識備份設(shè)備。,13,選擇服務(wù)器展開“管理”文件夾 右擊“備份”選擇“新建備份設(shè)備”命令,1. 使用企業(yè)管理器創(chuàng)建設(shè)備,14,打開“備份設(shè)備屬性”對話框:,邏輯備份設(shè)備名稱,物理備份設(shè)備名稱,15,創(chuàng)建備份設(shè)備后,在企業(yè)管理器的右側(cè)窗格中會顯示該備份設(shè)備的名稱、物理位置和設(shè)備類型,用鼠
7、標右擊要刪除的備份設(shè)備的名稱,從彈出的快捷菜單中選擇“刪除”命令,則可以刪除相應(yīng)的備份設(shè)備。,2. 使用企業(yè)管理器刪除備份設(shè)備,16,格式: sp_addumpdevice devtype = 設(shè)備類型, logicalname = 邏輯備份設(shè)備名, physicalname = 物理備份設(shè)備名 參數(shù)說明: devtype = 設(shè)備類型:指定備份設(shè)備的類型,可以是: disk、pipe、tape。 logicalname = 邏輯備份設(shè)備名 : 指定邏輯備份設(shè)備名稱。,3使用系統(tǒng)存儲過程創(chuàng)建備份設(shè)備(簡略了解),17,physicalname = 物理備份設(shè)備名:指定物理備份設(shè)備名。物理名稱必
8、須遵照操作系統(tǒng)文件名稱的規(guī)則或者網(wǎng)絡(luò)設(shè)備的通用命名規(guī)則,并且必須包括完整的路徑。對于遠程硬盤文件,可以使用格式“主機名共享路徑名路徑名文件名”表示;對于磁帶設(shè)備,用“.TAPEn”表示,其中n為磁帶驅(qū)動器序列號。,18,【例17-1】創(chuàng)建一個磁盤備份設(shè)備,邏輯名稱為“copy1”,物理名稱為“d:Mybackupcompany.bak” EXEC sp_addumpdevice devtype = disk, logicalname = copy1, physicalname =d:Mybackupcompany.bak 也可以簡化成: EXEC sp_addumpdevice disk,co
9、py1,d:Mybackupcompany.bak 這里的EXEC表示執(zhí)行存儲過程。,19,【例17-2】創(chuàng)建備份設(shè)備copy2,使用teacher服務(wù)器共享文件夾backup下的文件company1.bak。 EXEC sp_addumpdevice disk,copy2,teacherbackupcompany1.bak 【例17-3】用物理設(shè)備.TAPE0創(chuàng)建一個磁帶備份設(shè)備tapedevice。 EXEC sp_addumpdevice tape,tapedevice,.TAPE0,略,20,格式: sp_dropdevice logicalname = 邏輯備份設(shè)備名 , delfi
10、le = 刪除文件 參數(shù)說明: delfile: 指是否同時刪除物理備份文件。如果該參數(shù)指定為DELFILE,那么就會刪除設(shè)備物理文件名指定的磁盤文件。,4. 使用系統(tǒng)存儲過程sp_dropdevice刪除備份設(shè)備 (略),21,【例17-4】刪除例5-11創(chuàng)建的備份設(shè)備tapedevice,不刪除相應(yīng)的物理備份文件。 EXEC sp_dropdevice copy1 【例17-5】刪除例5-9創(chuàng)建的備份設(shè)備copy1,并刪除相應(yīng)的物理文件。 EXEC sp_dropdevice copy1, DELFILE,22,(三) 執(zhí)行備份,1. 在企業(yè)管理器中使用備份向?qū)?zhí)行備份(了解) (1) 單
11、擊服務(wù)器 打開“工具”菜單選擇“向?qū)А?或 單擊 工具欄圖標,打開“選擇向?qū)А睂υ捒颍?23,(2) 選擇數(shù)據(jù)庫:,24,(3) 輸入備份名稱和描述信息:,25,(4) 選擇備份類型:,26,(5) 選擇備份設(shè)備和屬性:,27,(6) 備份驗證和調(diào)度:,28,(7) 完成備份:,29,2. 在企業(yè)管理器中使用備份數(shù)據(jù)庫對話框執(zhí)行備份 (1)打開備份數(shù)據(jù)庫話框 方法一:右擊數(shù)據(jù)庫選擇“所有任務(wù)” 選擇“備份數(shù)據(jù)庫”令 方法二:展開“數(shù)據(jù)庫”文件夾展開“管理”文件夾右擊“備份” 選擇“備份數(shù)據(jù)庫” 方法三:打開“工具”菜單選擇“備份數(shù)據(jù)庫”,30,31,32,(1)完全數(shù)據(jù)庫備份 格式: BACK
12、UP DATABASE 數(shù)據(jù)庫名稱 TO ,.n WITH NAME = 備份集名稱 , DESCRIPTION = 備份描述文本 , INIT | NOINIT ,3. 使用BACKUP DATABASE語句備份數(shù)據(jù)庫,33,說明: :指定備份要使用的邏輯或物理備份設(shè)備。定義如下: := 邏輯備份設(shè)備名 | DISK |=TAPE 物理備份設(shè)備名 INIT:指定應(yīng)重寫所有備份集。 NOINIT:表示備份集將追加到指定的設(shè)備現(xiàn)有數(shù)據(jù)之后,以保留現(xiàn)有的備份集。,完全數(shù)據(jù)庫備份是制作數(shù)據(jù)庫中所有內(nèi)容的一個副本,備份過程花費時間相對較長,備份占用的空間大,因此不宜頻繁進行。,34,【例17-6】將“
13、學生管理”數(shù)據(jù)庫備份到d盤的mybackup文件夾下的“學生管理.bak”文件中。 -首先先創(chuàng)建一個備份設(shè)備 sp_addumpdevice disk,mycopy1,d:mybackup 學生管理.bak -用BACKUP DATABASE備份學生管理數(shù)據(jù)庫 BACKUP DATABASE 學生管理 TO mycopy1 WITH NAME = 學生管理備份, DESCRIPTION = 完全備份,35,【例17-7】將“學生管理”數(shù)據(jù)庫備份到網(wǎng)絡(luò)中的另一臺主機ServerX上。 sp_addumpdevice disk,STDcopy,ServerXbackupstudent.dat BA
14、CKUP DATABASE 學生管理 TO STDcopy,略,36,指對最近一次完全數(shù)據(jù)庫備份結(jié)束以來發(fā)生改變的數(shù)據(jù)進行備份。當數(shù)據(jù)庫從上次備份以來只修改了很少的數(shù)據(jù)時,適合使用差異備份。 格式: BACKUP DATABASE 數(shù)據(jù)庫名稱 TO ,.n WITH DIFFERENTIAL , NAME=備份集名稱 , DESCRIPTION = 備份描述文本 , INIT | NOINIT ,(2)差異數(shù)據(jù)庫備份,37,【例17-8】假設(shè)對“學生管理”數(shù)據(jù)庫進行了一些修改,現(xiàn)在要做一個差異備份,且將該備份添加到例17-6的現(xiàn)有備份之后。 BACKUP DATABASE 學生管理 TO my
15、copy1 WITH DIFFERENTIAL, NOINIT, NAME=學生管理備份, DESCRIPTION=第一次差異備份,38,當一個數(shù)據(jù)庫很大時,對整個數(shù)據(jù)庫進行備份可能會花費很多時間,這時可以采用文件或文件組備份,即對數(shù)據(jù)庫中的部分文件或文件組進行備份。,(3)文件或文件組備份(略),39,格式: BACKUP DATABASE 數(shù)據(jù)庫名稱 ,.n TO ,.n WITH DIFFERENTIAL , NAME=備份集名稱 , DESCRIPTION = 備份描述文本 , INIT | NOINIT := FILE = 邏輯文件名 | FILEGROUP = 邏輯文件組名 ,略,
16、40,將test數(shù)據(jù)庫的文件組QQQ備份到文件“E:tempgroup1.dat”中。 BACKUP DATABASE test FILEGROUP= QQQ TO DISK=E:tempgroup1.dat WITH NAME=group backup of test 將XJGL數(shù)據(jù)庫的次數(shù)據(jù)庫文件DDD備份到文件“d:mybackupddd.dat”中。 BACKUP DATABASE xjgl FILE=ddd TO DISK=d:mybackupddd.dat,例17-9】,恢復(fù)模型為“完全”;建立一個文件組QQQ,并建立一個次要數(shù)據(jù)庫文件屬于該文件組;相應(yīng)文件夾存在。,恢復(fù)模型為“完
17、全”;建立一個次數(shù)據(jù)庫文件DDD;相應(yīng)文件夾存在。,41,事務(wù)日志是自上次備份事務(wù)日志后對數(shù)據(jù)庫執(zhí)行的所有事務(wù)的一系列記錄,備份事務(wù)日志將對最近一次備份事務(wù)日志以來的所有事務(wù)日志進行備份。 格式: BACKUP LOG 數(shù)據(jù)庫名稱 TO ,.n WITH , NAME=備份集名稱 , DESCRIPTION = 備份描述文本 , INIT | NOINIT ,(4) 事務(wù)日志備份,42,【例17-10】將“學生管理”數(shù)據(jù)庫的日志文件備份到文件d:mybackupMyLog1.bak中。 EXEC sp_addumpdevice disk, MyLog1, d:mybackupMyLog1.ba
18、k BACKUP LOG 學生管理 TO MyLog1,前提: 恢復(fù)模型為“完全” 存在文件夾d:mybackup,43,三、 恢復(fù)數(shù)據(jù)庫,數(shù)據(jù)庫備份后,一旦系統(tǒng)發(fā)生崩潰或者執(zhí)行了錯誤的數(shù)據(jù)庫操作,就可以從備份文件中恢復(fù)(還原)數(shù)據(jù)庫,讓數(shù)據(jù)庫回到備份時的狀態(tài)。通常在以下情況下需要恢復(fù)數(shù)據(jù)庫。 媒體故障。 用戶操作錯誤。 服務(wù)器永久丟失。 將數(shù)據(jù)庫從一臺服務(wù)器復(fù)制到另一臺服務(wù)器。,恢復(fù)數(shù)據(jù)庫之前,需要限制其他用戶訪問數(shù)據(jù)庫: 右擊數(shù)據(jù)庫選擇“屬性” 選擇“選項” 選擇“限制訪問”、單用戶,44,恢復(fù)內(nèi)容: 恢復(fù)整個數(shù)據(jù)庫 恢復(fù)部分數(shù)據(jù)庫 恢復(fù)數(shù)據(jù)庫文件或文件組 恢復(fù)數(shù)據(jù)庫事務(wù)日志 恢復(fù)途徑:
19、使用企業(yè)管理器中 使用RESTORE DATABASE,45,1. 使用企業(yè)管理器恢復(fù)數(shù)據(jù)庫 單擊服務(wù)器名稱選擇“工具”菜單 選擇“還原數(shù)據(jù)庫” 或 右擊“數(shù)據(jù)庫”或數(shù)據(jù)庫名稱選擇“所有任務(wù)” 選擇“還原數(shù)據(jù)庫”命令。 兩種方法都會打開 “還原數(shù)據(jù)庫”對話框:,46,“還原數(shù)據(jù)庫”對話框“常規(guī)”選項卡,47,“還原數(shù)據(jù)庫”對話框“選項”選項卡,48,(1) 恢復(fù)完全備份數(shù)據(jù)庫和差異備份數(shù)據(jù)庫 格式: RESTORE DATABASE 數(shù)據(jù)庫名稱 FROM ,.n WITH , FILE = 文件號 , MOVE 邏輯文件名 TO 物理文件名 ,.n , NORECOVERY | RECOVER
20、Y , REPLACE ,2. 使用RESTORE DATABASE語句恢復(fù)數(shù)據(jù)庫,49,說明: 文件號:要還原的備份集。例如,文件號為2表示第二個備份集。 NORECOVERY:指示還原操作不回滾任何未提交的事務(wù)。當還原數(shù)據(jù)庫備份和多個事務(wù)日志時,或在需要使用多個RESTORE語句時(例如在完整數(shù)據(jù)庫備份后進行差異數(shù)據(jù)庫備份),SQL Server要求在除最后的RESTORE語句外的所有其它語句上使用WITH NORECOVERY選項。 RECOVERY:指示還原操作回滾任何未提交的事務(wù)。在恢復(fù)完成后即可隨時使用數(shù)據(jù)庫。 REPLACE:指定如果存在同名數(shù)據(jù)庫,將覆蓋現(xiàn)有的數(shù)據(jù)庫。,50,恢
21、復(fù)第一天做的“學生管理”數(shù)據(jù)庫的完全備份(如例17-6) RESTORE DATABASE 學生管理 FROM mycopy1 WITH FILE=1, RECOVERY,【例17-11】完全恢復(fù),51,設(shè)第一天做了一個“學生管理”數(shù)據(jù)庫的完全備份(如例17-6),第2天做了一個“學生管理”數(shù)據(jù)庫的差異備份(如例17-8),之后數(shù)據(jù)庫出現(xiàn)故障,將數(shù)據(jù)庫恢復(fù)到做差異備份時的狀態(tài)。 -恢復(fù)完全備份 RESTORE DATABASE 學生管理 FROM mycopy1 WITH FILE=1, NORECOVERY -這時數(shù)據(jù)庫無法使用,繼續(xù)恢復(fù)差異備份 RESTORE DATABASE 學生管理
22、FROM mycopy1 WITH FILE=2, RECOVERY -這時數(shù)據(jù)庫可以使用,【例17-12】完全+差異 恢復(fù),52,(2) 恢復(fù)事務(wù)日志 格式: RESTORE LOG 數(shù)據(jù)庫名稱 FROM ,.n WITH , FILE = 文件號 , MOVE 邏輯文件名 TO 物理文件名 ,.n , NORECOVERY | RECOVERY ,53,假設(shè)對“XJGL”數(shù)據(jù)庫先后做了完全數(shù)據(jù)庫備份、差異數(shù)據(jù)庫備份和事務(wù)日志備份,現(xiàn)在利用這三個備份來恢復(fù)數(shù)據(jù)庫。 BACKUP DATABASE xjgl TO disk=d:mybackupxjgl.bak WITH NAME = xjgl
23、備份, DESCRIPTION = 完全備份 BACKUP DATABASE 學生管理 TO disk=d:mybackupxjgl.bak WITH DIFFERENTIAL, NOINIT, NAME=xjgl備份, DESCRIPTION=第一次差異備份 BACKUP LOG xjgl TO disk=d:mybackupxjglLog1,【例17-14】完全+差異 +日志 恢復(fù),54,RESTORE DATABASE xjgl FROM disk=d:mybackupxjgl.bak with noRECOVERY RESTORE DATABASE xjgl FROM disk=d:mybackupxjgl.bak WITH NORECOVERY RESTORE LOG xjgl FROM disk=d:mybackupxjglLog1 WITH RECOVERY -完成恢復(fù),數(shù)據(jù)庫可以使用,55,練習1:(完全數(shù)據(jù)庫備份與簡單恢復(fù)),1.建立備份: 建立JSJX數(shù)據(jù)庫 在JSJX數(shù)據(jù)庫中建立一個表TABLE1 然后執(zhí)行完全備份JSJX數(shù)據(jù)庫操作 2.完成操作 再刪除自己建立的表TABLE1 3.恢復(fù)操作(將數(shù)據(jù)庫恢復(fù)到操作2之前的狀態(tài)) 恢復(fù)JSJX數(shù)據(jù)庫,56,練習2:差異數(shù)據(jù)庫備份與簡單恢復(fù),1.建立一個完全備份備
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 巧妙運用閱讀策略提高學生的英語閱讀能力
- 嬰兒護理培訓課件
- 養(yǎng)老院老人生活照料技能培訓制度
- 養(yǎng)老院老人康復(fù)理療服務(wù)質(zhì)量管理制度
- 養(yǎng)老院老人健康監(jiān)測人員管理制度
- 養(yǎng)老院安全管理與應(yīng)急預(yù)案制度
- 養(yǎng)老院信息化建設(shè)及管理規(guī)范制度
- 攝影技術(shù)知識培訓課件
- 2026年國有企業(yè)市場營銷崗位面試題含答案
- 2026年健康管理師健康教育考題含答案
- 農(nóng)業(yè)銀行房貸合同范本
- 早教師培訓課件-04第二章早期教育基礎(chǔ)知識第二節(jié)早教的方法與內(nèi)容
- 前置胎盤護理查房課件
- 企業(yè)競爭圖譜:2024年運動戶外
- 肺癌中西醫(yī)結(jié)合診療指南
- 高壓氣瓶固定支耳加工工藝設(shè)計
- 寵物服裝采購合同
- 攜程推廣模式方案
- JGT138-2010 建筑玻璃點支承裝置
- 垃圾清運服務(wù)投標方案(技術(shù)方案)
- 光速測量實驗講義
評論
0/150
提交評論