SQL Server 網(wǎng)絡(luò)數(shù)據(jù)庫管理項(xiàng)目教程課件12項(xiàng)目十二 數(shù)據(jù)庫的備份和還原_第1頁
SQL Server 網(wǎng)絡(luò)數(shù)據(jù)庫管理項(xiàng)目教程課件12項(xiàng)目十二 數(shù)據(jù)庫的備份和還原_第2頁
SQL Server 網(wǎng)絡(luò)數(shù)據(jù)庫管理項(xiàng)目教程課件12項(xiàng)目十二 數(shù)據(jù)庫的備份和還原_第3頁
SQL Server 網(wǎng)絡(luò)數(shù)據(jù)庫管理項(xiàng)目教程課件12項(xiàng)目十二 數(shù)據(jù)庫的備份和還原_第4頁
SQL Server 網(wǎng)絡(luò)數(shù)據(jù)庫管理項(xiàng)目教程課件12項(xiàng)目十二 數(shù)據(jù)庫的備份和還原_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

項(xiàng)目十二

數(shù)據(jù)庫的備份與還原

任務(wù)1:備份數(shù)據(jù)庫

任務(wù)2:還原數(shù)據(jù)庫任務(wù)1:數(shù)據(jù)庫備份數(shù)據(jù)庫備份數(shù)據(jù)庫在使用過程中會遇到一些意外問題導(dǎo)致數(shù)據(jù)丟失,這時數(shù)據(jù)庫備份是保證數(shù)據(jù)完整一個很好的手段,DBA(數(shù)據(jù)庫管理員)應(yīng)該養(yǎng)成良好的數(shù)據(jù)備份習(xí)慣。本任務(wù)中我們使用系統(tǒng)操作和命令2種方式完成數(shù)據(jù)備份。12.1.1相關(guān)知識備份數(shù)據(jù)庫首先要設(shè)置數(shù)據(jù)庫“恢復(fù)模式”,因?yàn)閿?shù)據(jù)庫如果恢復(fù)模式設(shè)置不正確,會導(dǎo)致數(shù)據(jù)無法還原。SQLServer2008數(shù)據(jù)庫恢復(fù)模式分為三種:完整恢復(fù)模式、大容量日志恢復(fù)模式、簡單恢復(fù)模式。相關(guān)知識1、完整恢復(fù)模式。為默認(rèn)恢復(fù)模式。它會完整記錄下操作數(shù)據(jù)庫的每一個步驟。使用完整恢復(fù)模式可以將整個數(shù)據(jù)庫恢復(fù)到一個特定的時間點(diǎn),這個時間點(diǎn)可以是最近一次可用的備份、一個特定的日期和時間或標(biāo)記的事務(wù)。2、大容量日志恢復(fù)模式。它是對完整恢復(fù)模式的補(bǔ)充。簡單地說就是要對大容量操作進(jìn)行最小日志記錄,節(jié)省日志文件的空間(如導(dǎo)入數(shù)據(jù)、批量更新、SELECTINTO等操作時)。一般只有在需要進(jìn)行大量數(shù)據(jù)操作時才將恢復(fù)模式改為大容量日志恢復(fù)模式。數(shù)據(jù)庫備份相關(guān)知識3、簡單恢復(fù)模式。在該模式下,數(shù)據(jù)庫會自動把不活動的日志刪除,因此簡化了備份的還原,但因?yàn)闆]有事務(wù)日志備份,所以不能恢復(fù)到失敗的時間點(diǎn)。通常,此模式只用于對數(shù)據(jù)庫數(shù)據(jù)安全要求不太高的數(shù)據(jù)庫。并且在該模式下,數(shù)據(jù)庫只能做完整和差異備份。數(shù)據(jù)庫備份相關(guān)知識了解了以上數(shù)據(jù)庫還原模式后,備份數(shù)據(jù)庫,SQLServer2008有四種備份方式:完整備份、差異備份、事務(wù)日志備份、文件和文件組備份。數(shù)據(jù)庫備份相關(guān)知識1、完整備份:備份整個數(shù)據(jù)庫的所有內(nèi)容,包括事務(wù)日志。該備份類型需要比較大的存儲空間來存儲備份文件,備份時間也比較長,在還原數(shù)據(jù)時,也只要還原一個備份文件。2、差異備份:差異備份是完整備份的補(bǔ)充,只備份上次完整備份后更改的數(shù)據(jù)。相對于完整備份分來說,差異備份的數(shù)據(jù)量比完整數(shù)據(jù)備份小,備份的速度也比完整備份要快。因此,差異備份通常作為常用的備份方式。在還原數(shù)據(jù)時,要先還原前一次做的完整備份,然后還原最后一次所做的差異備份,這樣才能讓數(shù)據(jù)庫里的數(shù)據(jù)恢復(fù)到與最后一次差異備份時的內(nèi)容相同。數(shù)據(jù)庫備份相關(guān)知識3、事務(wù)日志備份:事務(wù)日志備份只備份事務(wù)日志里的內(nèi)容。事務(wù)日志記錄了上一次完整備份或事務(wù)日志備份后數(shù)據(jù)庫的所有變動過程。事務(wù)日志記錄的是某一段時間內(nèi)的數(shù)據(jù)庫變動情況,因此在進(jìn)行事務(wù)日志備份之前,必須要進(jìn)行完整備份。與差異備份類似,事務(wù)日志備份生成的文件較小、占用時間較短,但是在還原數(shù)據(jù)時,除了先要還原完整備份之外,還要依次還原每個事務(wù)日志備份,而不是只還原最后一個事務(wù)日志備份(這是與差異備份的區(qū)別)。數(shù)據(jù)庫備份相關(guān)知識4、文件和文件組備份。如果在創(chuàng)建數(shù)據(jù)庫時,為數(shù)據(jù)庫創(chuàng)建了多個數(shù)據(jù)庫文件或文件組,可以使用該備份方式。使用文件和文件組備份方式可以只備份數(shù)據(jù)庫中的某些文件,該備份方式在數(shù)據(jù)庫文件非常龐大時十分有效,由于每次只備份一個或幾個文件或文件組,可以分多次來備份數(shù)據(jù)庫,避免大型數(shù)據(jù)庫備份的時間過長。另外,由于文件和文件組備份只備份其中一個或多個數(shù)據(jù)文件,當(dāng)數(shù)據(jù)庫里的某個或某些文件損壞時,可能只還原損壞的文件或文件組備份。數(shù)據(jù)庫備份相關(guān)知識除此之外,我們還可以使用SQL命令進(jìn)行數(shù)據(jù)備份,語法如下:完整數(shù)據(jù)庫備份語句格式:BACKUPDATABASE<數(shù)據(jù)庫名字>TO<備份設(shè)備名>[MIRRORTO<備份設(shè)備名>][WITH [[,]NAME={backup_set_name}]指定備份集名稱[[,]DESCRIPTION={'text'}]指定備份集的描述

[[,]DIFFERENTIAL]指定是否為完整差異備份

[[,]EXPIREDATE={date} |RETAINDAYS={days}][[,]{INIT|NOINIT}]指定是否覆蓋媒體集中已有的備份集[[,]MEDIANAME={media_name}]指定媒體集名稱[[,]MEDIADESCRIPTION={'text'}]指定媒體集描述]數(shù)據(jù)庫備份相關(guān)知識事務(wù)日志備份語法格式:BACKUPLOG<數(shù)據(jù)庫名字>TO<backup_device>[,...n][MIRRORTO<backup_device>][WITH

[[,]NAME={backup_set_name}][[,]DESCRIPTION={'text'}][[,]EXPIREDATE={date}|RETAINDAYS={days}][[,]{INIT|NOINIT}][[,]MEDIANAME={media_name}][[,]MEDIADESCRIPTION={'text'|@text_variable}][[,]NO_TRUNCATE]指定是否截?cái)嗳罩居涗沎[,]{NORECOVERY|STANDBY=undo_file_name}]]NORECOVERY:備份事務(wù)日志的尾部并使數(shù)據(jù)庫處于RESTORING狀態(tài)。使用STANDBY選項(xiàng)等同于BACKUPLOGWITHNORECOVERY后跟RESTOREWITHSTANDBY。數(shù)據(jù)庫備份12.1.2任務(wù)實(shí)施步驟1:在“對象資源管理器”窗口里展開數(shù)據(jù)庫,找到創(chuàng)建好的student,右擊|屬性,打開數(shù)據(jù)庫屬性窗口,如圖12-1所示。在“選項(xiàng)”頁面里數(shù)據(jù)庫的恢復(fù)模式,這里默認(rèn)設(shè)置為簡單,選擇后點(diǎn)擊“確定”。1.系統(tǒng)操作方法圖12-1數(shù)據(jù)庫恢復(fù)模式設(shè)置數(shù)據(jù)庫備份12.1.2任務(wù)實(shí)施步驟2:在“對象資源管理器”窗口里展開數(shù)據(jù)庫,找到創(chuàng)建好的student,右擊,如圖12-1所示,右擊選擇“任務(wù)”|“備份”,打開如圖12-2所示窗口。圖12-2數(shù)據(jù)庫備份數(shù)據(jù)庫備份12.1.2任務(wù)實(shí)施步驟3:圖12-3窗口中,在“源”一欄里,恢復(fù)模式默認(rèn)為簡單模式,備份類型選擇為“完整”;備份集一欄里,名稱默認(rèn)也可以自己取名,過期時間可以選擇晚于多少天過期,或者在某一天過期。圖12-3備份類型設(shè)置數(shù)據(jù)庫備份12.1.2任務(wù)實(shí)施步驟4:在目標(biāo)一欄里,點(diǎn)擊“添加”,設(shè)定備份的目標(biāo)位置,如圖12-4所示,選擇在d:/programfiles/SQlserver2008/backup文件夾下,輸入備份文件名為student20150910.bak,點(diǎn)擊確定。圖12-4選擇數(shù)據(jù)備份目錄數(shù)據(jù)庫備份12.1.2任務(wù)實(shí)施步驟5:回到圖12-3窗口,這時在目標(biāo)一欄里出現(xiàn)了剛才輸入的備份文件的路徑和文件名,點(diǎn)擊確定即可完成備份。與此類似,可以對數(shù)據(jù)庫進(jìn)行差異備份和事務(wù)日志備份。數(shù)據(jù)庫備份12.1.2任務(wù)實(shí)施備份數(shù)據(jù)庫student到.bak文件,然后利用此bak文件恢復(fù)一個新的數(shù)據(jù)庫studentnewUsestudentBackdatabasestudentTodisk=’e:\sqlserver\backup\student20150910.bak’\*數(shù)據(jù)庫備份文件*/RestorefilelistonlyFromdisk=’e:\sqlserver\backup\student20150910.bak’RestoredatabasestudentnewFromdisk=’e:\sqlserver\backup\student20150910.bak’ Withmove‘studentnew’to’e:\sqlserver\data\studentnew.mdf’,move‘studentnew_log’to’e:\sqlserver\data\studentnew_log.ldf’數(shù)據(jù)庫備份2.命令方法12.1.2任務(wù)實(shí)施我們也可以通過數(shù)據(jù)維護(hù)計(jì)劃來自動備份數(shù)據(jù)庫,詳細(xì)請課后自行學(xué)習(xí)。3.自動備份數(shù)據(jù)庫數(shù)據(jù)庫備份圖12-5自動備份數(shù)據(jù)任務(wù)2:數(shù)據(jù)庫還原數(shù)據(jù)庫還原數(shù)據(jù)庫還原又叫數(shù)據(jù)庫恢復(fù),是指將數(shù)據(jù)庫恢復(fù)到備份的某個狀態(tài),本任務(wù)是將備份的student數(shù)據(jù)庫進(jìn)行還原操作。12.2.1相關(guān)知識恢復(fù)數(shù)據(jù)庫的SQL語法格式如下:RESTOREDATABASE{database_name}[FROM<backup_device>[…n]][WITH

[[,]FILE={file_number}]

[[,]MEDIANAME={media_name}]

[[,]{RECOVERY|NORECOVERY|STANDBY=

{standby_file_name}]是否回滾未提交的事務(wù)

[[,]REPLACE]指定是否覆蓋當(dāng)前已經(jīng)存在的數(shù)據(jù)庫

[[,]{

STOPAT={date_time}|

STOPATMARK={'mark_name'[AFTERdatetime]}|STOPBEFOREMARK={'mark_name'[AFTERdatetime]}}]]數(shù)據(jù)庫還原相關(guān)知識SQLServer要求在除最后的Restore語句外的所有其他還原語句上使用WithNoRecovery選項(xiàng)。使用該語句后,數(shù)據(jù)庫將處于還原步驟中中間的未完成狀態(tài),此時如果想使用數(shù)據(jù)庫,進(jìn)行恢復(fù)數(shù)據(jù)庫操作:RestoreDatabase<>WithRecovery,語法格式如下:RESTORELOG{database_name}FROM<backup_device>[,...n][WITH

[[,]FILE={file_number}]

[[,]MEDIANAME={media_name}]

[[,]{RECOVERY|NORECOVERY|STANDBY=

{standby_file_name|@standby_file_name_var}}

]

[[,]REPLACE]

[[,]{

STOPAT={date_time}|

STOPATMARK={'mark_name'[AFTERdatetime]}|

STOPBEFOREMARK={'mark_name'

[AFTERdatetime]}

}]]數(shù)據(jù)庫還原12.2.2任務(wù)實(shí)施步驟1:選擇要還原的數(shù)據(jù)庫“student”,右擊“任務(wù)”|“還原”|“還原數(shù)據(jù)庫”,即打開“還原數(shù)據(jù)庫”窗口,點(diǎn)擊“選項(xiàng)”頁面如圖12-4所示。1.系統(tǒng)操作方法數(shù)據(jù)庫還原圖12-6數(shù)據(jù)庫還原選項(xiàng)設(shè)置12.2.2任務(wù)實(shí)施步驟2:在圖12-4窗口中對還原選項(xiàng)和恢復(fù)狀態(tài)進(jìn)行設(shè)置,也可以選擇默認(rèn)。步驟3:點(diǎn)擊“常規(guī)”頁面,出現(xiàn)如圖12-5窗口,在備份集里出現(xiàn)了曾經(jīng)備份的記錄,選擇要還原的一項(xiàng),點(diǎn)擊“確定”,即完成還原。數(shù)據(jù)庫還原圖12-6數(shù)據(jù)庫還原12.2.2任務(wù)實(shí)施返回由備份集內(nèi)包含的數(shù)據(jù)庫和日志文件列表組成的結(jié)果集獲得邏輯文件名UsestudentRestorestudent Fromdisk=’e:\sqlserver\backup\student.bak’ Withmove‘student20150910’to‘e:\sqlserver\data\student.mdf’, Move‘student20150910_log’to‘e:\sqlserver\data\student_log.ldf’,Stats=10,replaceGo數(shù)據(jù)庫還原2.命令方式項(xiàng)目小結(jié)本章主要講述了SQLServer2008備份和還原數(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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論