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

下載本文檔

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

文檔簡介

第11章

數(shù)據(jù)庫備份與還原盡管SQLServer2005提供了將備份與恢復(fù)自動化的工具與模型,但是數(shù)據(jù)庫管理員仍然需要確定適當?shù)姆椒?,需要建立、建檔和測試健全的恢復(fù)計劃。備份與恢復(fù)是任何數(shù)據(jù)庫項目的關(guān)鍵部分,是應(yīng)當在開發(fā)的所有階段都要考慮的。本章教與學(xué)的建議教師使用2課時邊講邊演示,學(xué)生使用2課時在課堂內(nèi)練習(xí),通過學(xué)習(xí)能夠根據(jù)需要靈活地使用對象資源管理器或T-SQL語句進行數(shù)據(jù)庫備份和還原。第11章數(shù)據(jù)庫的備份與還原2/4/20232本章學(xué)習(xí)任務(wù)備份與還原的概述備份與還原概念備份與還原方式數(shù)據(jù)庫的備份備份設(shè)備備份的執(zhí)行數(shù)據(jù)庫的還原使用對象資源管理器還原數(shù)據(jù)庫使用T-SQL語句還原數(shù)據(jù)庫數(shù)據(jù)庫維護第11章數(shù)據(jù)庫的備份與還原2/4/20233備份的重要性備份是恢復(fù)受損數(shù)據(jù)庫最容易、把意外損失降到最小的保障方法。造成數(shù)據(jù)庫損失的因素有很多:存儲介質(zhì)故障。用戶錯誤操作。服務(wù)器徹底崩潰。一些難以預(yù)料的因素。如果數(shù)據(jù)庫受到損害導(dǎo)致不可讀,應(yīng)先刪除受損的數(shù)據(jù)庫,然后再從備份的文件中進行數(shù)據(jù)庫的重建從而恢復(fù)數(shù)據(jù)庫2/4/20234什么是備份?備份是指在某種介質(zhì)上(如磁盤、磁帶等)存儲數(shù)據(jù)庫(或一部分)的拷貝。什么是還原?還原是指利用數(shù)據(jù)庫的備份,將數(shù)據(jù)庫返回到備份時的狀態(tài)。備份與還原的概述2/4/20235數(shù)據(jù)庫備份備份是指對數(shù)據(jù)庫事務(wù)日志進行拷貝,數(shù)據(jù)庫備份記錄了在進行備份操作時數(shù)據(jù)庫中所有數(shù)據(jù)的狀態(tài)。如果數(shù)據(jù)庫因意外而損壞,這些備份文件在數(shù)據(jù)庫恢復(fù)時被用來還原數(shù)據(jù)庫。制定一個良好的備份策略,定期對數(shù)據(jù)庫進行備份是保護數(shù)據(jù)庫的一項重要措施。如果發(fā)生數(shù)據(jù)丟失或破壞的情況,可以從數(shù)據(jù)庫備份中將數(shù)據(jù)恢復(fù)到原來的狀態(tài)。另外,除了保護數(shù)據(jù)庫安全,在制作數(shù)據(jù)庫副本和在不同服務(wù)器之間移動數(shù)據(jù)庫時也要用到數(shù)據(jù)庫備份。2/4/20236數(shù)據(jù)庫備份類型1.數(shù)據(jù)庫完整備份數(shù)據(jù)庫完整備份是指對數(shù)據(jù)庫內(nèi)的所有對象都進行備份,如果數(shù)據(jù)庫不是很大而且不是24小時運行的應(yīng)用系統(tǒng),也不是一個變化頻繁的系統(tǒng),可以采用這種備份方式。如果數(shù)據(jù)庫很大,采用這種方式將很費時間,甚至造成系統(tǒng)訪問緩慢。雖然完整備份比較費時間,但是對于數(shù)據(jù)庫還是需要定期做完整備份,如一周一次。2/4/20237數(shù)據(jù)庫備份類型2.數(shù)據(jù)庫差異備份數(shù)據(jù)庫差異備份只備份(DifferentialDatabaseBackup)自從上次數(shù)據(jù)庫全部備份后(注意:不是上一次差異備份后)數(shù)據(jù)庫變動的部分。如果你在某一天做了數(shù)據(jù)庫全部備份后,接下來又做了幾次差異備份,當你恢復(fù)數(shù)據(jù)庫時只要先恢復(fù)上次的完整備份,然后再恢復(fù)最近一次的差異備份就可以了,而不需要依次恢復(fù)每一次的差異備份。2/4/20238數(shù)據(jù)庫備份類型2.數(shù)據(jù)庫差異備份差異數(shù)據(jù)庫備份只記錄自上次數(shù)據(jù)庫備份后發(fā)生更改的數(shù)據(jù)。差異數(shù)據(jù)庫備份比數(shù)據(jù)庫備份小而且備份速度快,因此可以經(jīng)常地備份,經(jīng)常備份將減少丟失數(shù)據(jù)的危險。使用差異數(shù)據(jù)庫備份將數(shù)據(jù)庫還原到差異數(shù)據(jù)庫備份完成時那一點。若要恢復(fù)到精確的故障點,必須使用事務(wù)日志備份。2/4/20239數(shù)據(jù)庫備份類型3.事務(wù)日志備份事務(wù)日志備份(Transactionlogbackup)只備份數(shù)據(jù)庫的事務(wù)處理記錄,當數(shù)據(jù)庫很大時,每次完整備份需要花費很多時間,并且系統(tǒng)可能需要24小時運行,不允許讓過長的備份時間影響在線運行,這時可以采用事務(wù)日志備份方式。但是,事務(wù)日志備份在數(shù)據(jù)庫恢復(fù)時無法單獨運行,它必須和一次完整備份一起才可以恢復(fù)數(shù)據(jù)庫,而且事務(wù)日志備份在恢復(fù)時有一定的時間順序,不能搞錯。2/4/202310數(shù)據(jù)庫備份類型4.文件及文件組備份文件及文件組備份是針對單一數(shù)據(jù)庫文件或者是文件夾做備份和恢復(fù),它的好處是便利和具有彈性,而且在恢復(fù)時可以僅僅針對受損的數(shù)據(jù)庫文件做恢復(fù)。雖然文件及文件組備份有其方便性,但是這類備份必須搭配事務(wù)日志備份,因為在恢復(fù)部分數(shù)據(jù)庫文件或者文件夾后必須恢復(fù)自數(shù)據(jù)庫文件或者文件夾備份后所做的所有事務(wù)日志備份,否則會造成數(shù)據(jù)庫的不一致性。因此在做完文件或者文件夾備份后最好立刻做一個事務(wù)日志備份。2/4/202311數(shù)據(jù)庫的還原策略由數(shù)據(jù)庫的還原模型決定,還原模型是數(shù)據(jù)庫遭到破壞時恢復(fù)用于數(shù)據(jù)庫中數(shù)據(jù)的存儲方式。SQLServer2005有三種還原模型:簡單還原模型完整還原模型大容量日志記錄還原數(shù)據(jù)庫還原方式2/4/202312簡單還原模型特點:

因為數(shù)據(jù)庫沒有事務(wù)日志備份,所以只能執(zhí)行完整數(shù)據(jù)庫備份和差異備份。優(yōu)點:

耗費比較少的磁盤空間,恢復(fù)模型簡單。缺點:數(shù)據(jù)庫只能還原到執(zhí)行備份操作的那一刻,執(zhí)行備份之后的所有數(shù)據(jù)修改都將丟失。數(shù)據(jù)庫還原方式2/4/202313完整還原模型允許將數(shù)據(jù)庫還原到故障點狀態(tài)。因為這種模型對數(shù)據(jù)庫的所有操作都記錄在事務(wù)日志中,所以當數(shù)據(jù)庫遭到破壞時,可以使用事務(wù)日志迅速地將數(shù)據(jù)庫恢復(fù)到破壞前的那一刻。這種還原模型能對數(shù)據(jù)庫執(zhí)行完全數(shù)據(jù)庫備份、差異備份(可選)和事務(wù)日志備份。還原次序:應(yīng)該從最近的一次完整備份開始;如果最近一次完全備份之后還有差異備份則還原最后一個差異備份;如果最后一個差異備份之后還有日志備份則依次全部還原。數(shù)據(jù)庫還原方式2/4/202314大容量日志記錄還原同完整還原模型一樣,只是事務(wù)日志耗費的磁盤空間比完全還原模型小得多。具體見完整還原模型。數(shù)據(jù)庫還原方式2/4/202315本章學(xué)習(xí)任務(wù)備份與還原的概述備份與還原概念備份與還原方式數(shù)據(jù)庫的備份備份設(shè)備備份的執(zhí)行數(shù)據(jù)庫的還原使用對象資源管理器還原數(shù)據(jù)庫使用T-SQL語句還原數(shù)據(jù)庫數(shù)據(jù)庫維護第11章數(shù)據(jù)庫的備份與還原2/4/202316備份的執(zhí)行數(shù)據(jù)庫的備份策略一般采用:完全數(shù)據(jù)庫備份策略。主要應(yīng)用于數(shù)據(jù)庫比較小或數(shù)據(jù)庫的數(shù)據(jù)很少修改或只讀等情況。完全數(shù)據(jù)庫備份和日志備份策略。主要應(yīng)用于數(shù)據(jù)至關(guān)重要,任何數(shù)據(jù)丟失都是難以接受的情況或數(shù)據(jù)庫更新非常頻繁等情況。差異備份策略。增加備份操作速度,減少備份時間。一般來說,為了減少數(shù)據(jù)損失在進行增量備份之間的時間間隔內(nèi)執(zhí)行日志備份。數(shù)據(jù)庫的備份2/4/202317備份和還原的流程:創(chuàng)建備份設(shè)備進行數(shù)據(jù)庫的完整備份、差異備份、日志備份、文件和文件組備份還原數(shù)據(jù)庫數(shù)據(jù)庫的備份2/4/202318管理備份設(shè)備在備份一個數(shù)據(jù)庫之前,需要先創(chuàng)建一個備份設(shè)備,比如磁帶、硬盤等,然后再去復(fù)制有備份的數(shù)據(jù)庫、事務(wù)日志、文件/文件組。

SQLServer2005可以將本地主機或者遠端主機上的硬盤作為備份設(shè)備,數(shù)據(jù)備份在硬盤是以文件的方式被存儲。SQLServer2005只支持將數(shù)據(jù)備份到本地磁帶機,無法將數(shù)據(jù)備份到網(wǎng)絡(luò)上的磁帶機。2/4/2023192.備份設(shè)備備份設(shè)備是指備份內(nèi)容的存儲介質(zhì)。包括:“disk(硬盤文件)”“tape(磁帶)”“pipe(命名管道)”其中,硬盤文件最常用設(shè)備介質(zhì)。

2/4/202320管理備份設(shè)備

新建一個備份設(shè)備2/4/202321管理備份設(shè)備使用備份設(shè)備備份數(shù)據(jù)庫2/4/202322管理備份設(shè)備查看備份設(shè)備2/4/202323管理備份設(shè)備刪除備份設(shè)備2/4/202324備份數(shù)據(jù)庫打開SQLServerManagementStudio,右擊需要備份的數(shù)據(jù)庫,選擇“任務(wù)”→“備份”命令,出現(xiàn)備份數(shù)據(jù)庫窗口。在這里可以選擇要備份的數(shù)據(jù)庫以及備份類型。2/4/202325備份數(shù)據(jù)庫備份數(shù)據(jù)庫窗口2/4/202326使用T-SQL語句管理備份設(shè)備創(chuàng)建一個備份設(shè)備sp_addumpdevice‘<設(shè)備介質(zhì)>’,‘<備份設(shè)備名>’,'<物理文件>‘刪除備份設(shè)備sp_dropdevice[@logicalname=]'device'

[,[@delfile=]'delfile']

2/4/202327使用T-SQL語句備份數(shù)據(jù)庫(1)數(shù)據(jù)庫完全備份

BACKUPDATABASE<數(shù)據(jù)庫名>TO<備份設(shè)備名>(2)數(shù)據(jù)庫差異備份

BACKUPDATABASE<數(shù)據(jù)庫名>TO<備份設(shè)備名>WITHDIFFERENTIAL(3)事務(wù)日志備份

BACKUPLOG<數(shù)據(jù)庫名>TO<備份設(shè)備名>2/4/202328例為student數(shù)據(jù)庫創(chuàng)建備份sp_addumpdevice'disk','s_bak_mdf','d:\example\s_bak_mdf.bak'gosp_addumpdevice'disk','s1_bak_mdf','d:\example\s1_bak_mdf.bak'gosp_addumpdevice'disk','s_bak_log','d:\example\s_bak_log.bak'gobackupdatabasestudenttos_bak_mdfbackupdatabasestudenttos1_bak_mdfwithdifferentialbackuplogstudenttos_bak_log2/4/202329本章學(xué)習(xí)任務(wù)備份與還原的概述備份與還原概念備份與還原方式數(shù)據(jù)庫的備份備份設(shè)備備份的執(zhí)行數(shù)據(jù)庫的還原使用對象資源管理器還原數(shù)據(jù)庫使用T-SQL語句還原數(shù)據(jù)庫數(shù)據(jù)庫維護第11章數(shù)據(jù)庫的備份與還原2/4/202330使用對象資源管理器還原數(shù)據(jù)庫啟動SQLServerManagementStudio,選擇服務(wù)器,右擊相應(yīng)的數(shù)據(jù)庫,選擇“還原”命令,再單擊“數(shù)據(jù)庫”,出現(xiàn)還原數(shù)據(jù)庫窗口。使用備份設(shè)備還原在還原數(shù)據(jù)庫窗口中選擇“源設(shè)備”,單擊其文本框右邊的按鈕,出現(xiàn)“指定備份”對話框。選中備份媒體中的備份設(shè)備,單擊“添加”按鈕,出現(xiàn)“選擇備份設(shè)備”對話框。選擇相應(yīng)的備份設(shè)備,單擊“確定”按鈕即可。還原數(shù)據(jù)庫2/4/202331

還原數(shù)據(jù)庫2/4/202332使用T-SQL語句還原數(shù)據(jù)庫RESTOREDATABASE{database_name|@database_name_var}[FROM<backup_device>[,…n]][WITH[FILE=file_number][MEDIANAME={media_name|@med1a_name_variable}][[,]MOVE'logical_file_name'TO'operating_system_file_name'][,…n][[,]{NORECOVERY|RECOVERY|STANDBY=undo_file_name}][[,]REPLACE][[,]RESTART]]

還原數(shù)據(jù)庫2/4/202333數(shù)據(jù)庫的恢復(fù)(1)從數(shù)據(jù)庫備份中還原

RESTOREDATABASE<數(shù)據(jù)庫名>FROM<備份設(shè)備名>[WITHNORECOVERY]2/4/202334數(shù)據(jù)庫的恢復(fù)(2)從事務(wù)日志備份中還原

RESTORELOG<數(shù)據(jù)庫名>FROM<備份設(shè)備名>[WITHNORECOVERY]其中,要繼續(xù)從后續(xù)備份中還原數(shù)據(jù)必須帶參數(shù)WITHNORECOVERY,且數(shù)據(jù)庫不可用。2/4/202335數(shù)據(jù)庫的恢復(fù)(3)從指定還原點還原 RESTORELOG<數(shù)據(jù)庫名>FROM<備份設(shè)備名>WITHRECOVERY,STOPAT='<日期><時間>'2/4/202336例還原數(shù)據(jù)庫student。restoredatabasestudentfroms_bak_mdfwithnorecoveryrestoredatabasestudentfroms1_bak_mdfwithnorecoveryrestoredatabasestudentfroms_bak_log2/4/202337例定點還原實例。說明:按步驟完成以下操作,其中的注釋語句可以在SQL-EM中進行,其余語句可以在查詢分析器中執(zhí)行。本例說明如何使用事務(wù)日志備份將數(shù)據(jù)庫還原至任一時間點。sp_addumpdevice'disk','s_mdf','d:\example\s_mdf.bak'gosp_addumpdevice'disk','s_log1','d:\example\s_log1.bak'gosp_addumpdevice'disk','s_log2','d:\example\s_log2.bak'gobackupdatabasestudenttos_mdf--對數(shù)據(jù)庫student進行了修改1backuplogstudenttos_log1--對數(shù)據(jù)庫student進行了修改2--對數(shù)據(jù)庫student進行了修改3(設(shè)時間為2005-6-1716:38:00)--對數(shù)據(jù)庫student進行了修改4backuplogstudenttos_log2restoredatabasestudentfroms_mdfwithnorecoveryrestorelogstudentfroms_log1withnorecoveryrestorelogstudentfroms_log2withrecovery,stopat='2005-06-1716:38PM'--將數(shù)據(jù)庫student還原至2005-6-1716:38:00時的狀態(tài)。2/4/202338創(chuàng)建數(shù)據(jù)庫維護計劃可以讓SQLServer自動而有效地維護數(shù)據(jù)庫。在數(shù)據(jù)庫引擎中,維護計劃可創(chuàng)建一個作業(yè)按照預(yù)定間隔自動執(zhí)行這些維護任務(wù)。維護計劃向?qū)Э梢杂糜谠O(shè)置核心維護任務(wù),從而確保數(shù)據(jù)庫執(zhí)行良好,做到定期備份數(shù)據(jù)庫以防系統(tǒng)出現(xiàn)故障,對數(shù)據(jù)庫實施不一致性檢查。維護計劃向?qū)Э蓜?chuàng)建一個或多個SQLServer代理作業(yè),代理作業(yè)將按照計劃的間隔自動執(zhí)行這些維護任務(wù)。數(shù)據(jù)庫維護2/4/202339實驗名稱:數(shù)據(jù)庫數(shù)據(jù)的復(fù)制與恢復(fù)目的要求:掌握SQLServer2005

溫馨提示

  • 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

提交評論