資源描述:
《sqlserver數(shù)據(jù)庫(kù)的備份與恢復(fù)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫(kù)。
1、第12章數(shù)據(jù)庫(kù)的備份與恢復(fù)本章內(nèi)容12.1數(shù)據(jù)庫(kù)的備份12.2數(shù)據(jù)庫(kù)的恢復(fù)12.1數(shù)據(jù)庫(kù)的備份12.1.1數(shù)據(jù)庫(kù)備份概述12.1.2創(chuàng)建和刪除備份設(shè)備12.1.3備份數(shù)據(jù)庫(kù)12.1.1數(shù)據(jù)庫(kù)備份概述n備份是對(duì)SQLServer數(shù)據(jù)庫(kù)或事務(wù)日志進(jìn)行的復(fù)制,數(shù)據(jù)庫(kù)備份記錄了在進(jìn)行備份操作時(shí)數(shù)據(jù)庫(kù)中所有數(shù)據(jù)的狀態(tài),如果數(shù)據(jù)庫(kù)因意外而損壞,這些備份文件將在數(shù)據(jù)庫(kù)恢復(fù)時(shí)被用來(lái)恢復(fù)數(shù)據(jù)庫(kù)。1.備份內(nèi)容數(shù)據(jù)庫(kù)需備份的內(nèi)容可分為:n系統(tǒng)數(shù)據(jù)庫(kù)主要包括master、msdb和model數(shù)據(jù)庫(kù),它們記錄了重要的系統(tǒng)信息,是確保系統(tǒng)正常運(yùn)行的重要依據(jù),必須完全備份。n用戶數(shù)據(jù)庫(kù)是存儲(chǔ)用戶數(shù)據(jù)的存儲(chǔ)
2、空間集,通常用戶數(shù)據(jù)庫(kù)中的數(shù)據(jù)依其重要性可分為關(guān)鍵數(shù)據(jù)和非關(guān)鍵數(shù)據(jù)。對(duì)于關(guān)鍵數(shù)據(jù)則是用戶的重要數(shù)據(jù),不易甚至不能重新創(chuàng)建,必須進(jìn)行完全備份。n事務(wù)日志記錄了用戶對(duì)數(shù)據(jù)的各種操作,平時(shí)系統(tǒng)會(huì)自動(dòng)管理和維護(hù)所有的數(shù)據(jù)庫(kù)事務(wù)日志。相對(duì)于數(shù)據(jù)庫(kù)備份,事務(wù)日志備份所需要的時(shí)間較少,但恢復(fù)需要的時(shí)間比較長(zhǎng)。2.備份設(shè)備n備份設(shè)備是用來(lái)存儲(chǔ)數(shù)據(jù)庫(kù)、事務(wù)日志或文件和文件組備份的存儲(chǔ)介質(zhì)。備份設(shè)備可以是硬盤(pán)、磁帶或命名管道(邏輯通道)。n本地主機(jī)硬盤(pán)和遠(yuǎn)程主機(jī)的硬盤(pán)可作為備份設(shè)備,備份設(shè)備在硬盤(pán)中是以文件的方式存儲(chǔ)的。nSQLServer使用物理設(shè)備名稱或邏輯設(shè)備名稱來(lái)標(biāo)識(shí)備份設(shè)備?!锢韨浞?/p>
3、設(shè)備是操作系統(tǒng)用來(lái)標(biāo)識(shí)備份設(shè)備的名稱。這類備份設(shè)備稱為臨時(shí)備份設(shè)備,其名稱沒(méi)有記錄在系統(tǒng)設(shè)備表中,只能使用一次。¨邏輯備份設(shè)備是用來(lái)標(biāo)識(shí)物理備份設(shè)備的別名或公用名稱,以簡(jiǎn)化物理設(shè)備的名稱。這類備份設(shè)備稱為永久備份設(shè)備,其名稱永久地存儲(chǔ)在系統(tǒng)表中,可以多次使用。3.備份頻率n數(shù)據(jù)庫(kù)備份頻率一般取決于修改數(shù)據(jù)庫(kù)的頻繁程度以及一旦出現(xiàn)意外,丟失的工作量的大小,還有發(fā)生意外丟失數(shù)據(jù)的可能性大小。n在正常使用階段,對(duì)系統(tǒng)數(shù)據(jù)庫(kù)的修改不會(huì)十分頻繁,所以對(duì)系統(tǒng)數(shù)據(jù)庫(kù)的備份也不需要十分頻繁,只要在執(zhí)行某些語(yǔ)句或存儲(chǔ)過(guò)程導(dǎo)致SQLServer對(duì)系統(tǒng)數(shù)據(jù)庫(kù)進(jìn)行了修改的時(shí)候備份。n如果在用戶數(shù)據(jù)庫(kù)
4、中執(zhí)行了添加數(shù)據(jù)、創(chuàng)建索引等操作,則應(yīng)該對(duì)用戶數(shù)據(jù)庫(kù)進(jìn)行備份。如果清除了事務(wù)日志,也應(yīng)該備份數(shù)據(jù)庫(kù)。4.數(shù)據(jù)庫(kù)備份的類型n完全備份。完全備份將備份整個(gè)數(shù)據(jù)庫(kù),包括用戶表、系統(tǒng)表、索引、視圖和存儲(chǔ)過(guò)程等所有數(shù)據(jù)庫(kù)對(duì)象。適用于數(shù)據(jù)更新緩慢的數(shù)據(jù)庫(kù)。n事務(wù)日志備份。事務(wù)日志記錄數(shù)據(jù)庫(kù)的改變,備份的時(shí)候只復(fù)制自上次備份事務(wù)日志后對(duì)數(shù)據(jù)庫(kù)執(zhí)行的所有事務(wù)的一系列記錄。n差異備份。差異備份只記錄自上次數(shù)據(jù)庫(kù)備份后發(fā)生更改的數(shù)據(jù),差異備份一般會(huì)比完全備份占用更少的空間。n文件和文件組備份。當(dāng)數(shù)據(jù)庫(kù)非常龐大時(shí),可執(zhí)行數(shù)據(jù)庫(kù)文件或文件組備份。這種備份策略使用戶只恢復(fù)已損壞的文件或文件組。而不用恢
5、復(fù)數(shù)據(jù)庫(kù)的其余部分,所以,文件和文件組的備份及恢復(fù)是一種相對(duì)較完善的備份和恢復(fù)過(guò)程。12.1.2創(chuàng)建和刪除備份設(shè)備n進(jìn)行數(shù)據(jù)庫(kù)備份時(shí),必須創(chuàng)建用來(lái)存儲(chǔ)備份的備份設(shè)備。n創(chuàng)建和刪除備份設(shè)備可以使用企業(yè)管理器和系統(tǒng)存儲(chǔ)過(guò)程sp_addumpdevice、sp_dropdevice實(shí)現(xiàn)。12.1.2創(chuàng)建和刪除備份設(shè)備1.使用企業(yè)管理器創(chuàng)建備份設(shè)備(1)打開(kāi)企業(yè)管理器,展開(kāi)選定的服務(wù)器。(2)展開(kāi)“管理”文件夾,鼠標(biāo)右鍵單擊“備份”,在彈出的菜單中選擇“新建備份設(shè)備”命令(3)打開(kāi)“備份設(shè)備屬性”對(duì)話框n在“名稱”文本框中輸入指定備份設(shè)備的邏輯文件名,在“文件名”文本框中輸入要備份的
6、文件的名稱和存儲(chǔ)路徑。2.使用sp_addumpdevice創(chuàng)建備份設(shè)備nsp_addumpdevice的語(yǔ)法格式為:sp_addumpdevice[@devtype=]'device_type'[@logincalname=]'logincal_name',[@physicalname=]'physical_name',[,{[@cntrltype=]controller_type
7、[@devstatus=]'device_status'}]例12-1使用系統(tǒng)存儲(chǔ)過(guò)程創(chuàng)建備份設(shè)備test_backup。USESalesGOEXECsp_addumpdevice'DISK',
8、'test_backup','d:test_backup.bak'本例添加一個(gè)邏輯名稱為test_backup的磁盤(pán)備份設(shè)備,物理名稱為d:test_backup.bak。例12-2添加網(wǎng)絡(luò)磁盤(pán)備份設(shè)備。USESalesGOEXECsp_addumpdevice'DISK','netdevice','\servernamesharenamefilename.ext'本例添加一個(gè)遠(yuǎn)程磁盤(pán)備份設(shè)備,并命名其邏輯名稱為netdevice。3.使用企業(yè)管理刪除備份設(shè)備n刪除備份設(shè)備的操作步驟如下:(1