




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第第8章章 備份與恢復備份與恢復8.1 備份和恢復概述備份和恢復概述8.2 備份操作和備份命令備份操作和備份命令8.3 恢復操作和恢復命令恢復操作和恢復命令8.4 附加數據庫附加數據庫8.1 備份和恢復概述備份和恢復概述數據庫的備份和恢復是數據庫 管理員維護數據庫安全性和完 整性必不可少的操作,合理地 進行備份和恢復可以將可預見 的和不可預見的問題對數據庫 造成的傷害降到最低。當運行 SQL Server的服務器出現故障, 或者數據庫遭到某種程度的破 壞時,可以利用以前對數據庫 所做的備份重建或恢復數據庫。 SQL Server 2008數據庫恢復模式分為三種:完整恢復模式、大容量日志恢復模式
2、、簡單恢復模式。完整恢復模式。為默認恢復模式。它會完整記錄下操作數據庫的每一個步驟。使用完整恢復模式可以將整個數據庫恢復到一個特定的時間點,這個時間點可以是最近一次可用的備份、一個特定的日期和時間或標記的事務。 大容量日志恢復模式。它是對完整恢復模式的補充。簡單地說就是要對大容量操作進行最小日志記錄,節省日志文件的空間(如導入數據、批量更新、SELECT INTO等操作時)。比如一次在數據庫中插入數十萬條記錄時,在完整恢復模式下每一個插入記錄的動作都會記錄在日志中,使日志文件變得非常大,在大容量日志恢復模式下,只記錄必要的操作,不記錄所有日志,這樣一來,可以大大提高數據庫的性能,但是由于日志不
3、完整,一旦出現問題,數據將可能無法恢復。因此,一般只有在需要進行大量數據操作時才將恢復模式改為大容量日志恢復模式,數據處理完畢之后,馬上將恢復模式改回完整恢復模式。 由于大容量日志恢復模式不支持時點恢復,因此必須在增大日志備份與增加工作丟失風險之間進行權衡。 簡單恢復模式。在該模式下,數據庫會自動把不活動的日志刪除,因此簡化了備份的還原,但因為沒有事務日志備份,所以不能恢復到失敗的時間點。通常,此模式只用于對數據庫數據安全要求不太高的數據庫。并且在該模式下,數據庫只能做完整和差異備份。 了解了以上數據庫還原模式后,一般就應該知道將自己的數據庫設置為何種模式了。SQL Server 2008提供
4、了四種備份方式:完整備份、差異備份、事務日志備份、文件和文件組備份。 完整備份:備份整個數據庫的所有內容,包括事務日志。該備份類型需要比較大的存儲空間來存儲備份文件,備份時間也比較長,在還原數據時,也只要還原一個備份文件。 完整備份在所有模式下都適用。 差異備份:差異備份是完整備份的補充,只備份上次完整備份后更改的數據。相對于完整備份分來說,差異備份的數據量比完整數據備份小,備份的速度也比完整備份要快。因此,差異備份通常作為常用的備份方式。在還原數據時,要先還原前一次做的完整備份,然后還原最后一次所做的差異備份,這樣才能讓數據庫里的數據恢復到與最后一次差異備份時的內容相同。 差異備份也適用于所
5、有恢復模式。8.1 備份和恢復概述備份和恢復概述 事務日志備份:事務日志備份只備份事務日志里的內容。事務日志記錄了上一次完整備份或事務日志備份后數據庫的所有變動過程。事務日志記錄的是某一段時間內的數據庫變動情況,因此在進行事務日志備份之前,必須要進行完整備份。與差異備份類似,事務日志備份生成的文件較小、占用時間較短,但是在還原數據時,除了先要還原完整備份之外,還要依次還原每個事務日志備份,而不是只還原最后一個事務日志備份(這是與差異備份的區別)。 事務日志備份僅適用于完整恢復模式和大容量日志恢復模式,不適用于簡單模式。 文件和文件組備份。如果在創建數據庫時,為數據庫創建了多個數據庫文件或文件組
6、,可以使用該備份方式。使用文件和文件組備份方式可以只備份數據庫中的某些文件,該備份方式在數據庫文件非常龐大時十分有效,由于每次只備份一個或幾個文件或文件組,可以分多次來備份數據庫,避免大型數據庫備份的時間過長。另外,由于文件和文件組備份只備份其中一個或多個數據文件,當數據庫里的某個或某些文件損壞時,可以只還原損壞的文件或文件組備份。 8.1 備份和恢復概述備份和恢復概述 了解了以上數據庫備份方式后,便可以針對自己的數據庫利用以上方式來備份數據庫了。合理備份數據庫需要考慮幾方面,首先是數據安全,其次是備份文件大小,最后是做備份和還原能承受的時間范圍。 例如,如果數據庫里每天變動的數據量很小,可以
7、每周(周日)做一次完整備份,以后的每天(下班前)做一次事務日志備份,那么一旦數據庫發生問題,可以將數據恢復到前一天(下班時)的狀態。 當然,也可以在周日時做一次完整備份,周一到周六每天下班前做一次差異備份,這樣一旦數據庫發生問題,同樣可以將數據恢復到前一天下班時的狀態。只是一周的后幾天做差異備份時,備份的時間和備份的文件都會跟著增加。但這也有一個好處,在數據損壞時,只要恢復完整備份的數據和前一天差異備份的數據即可,不需要去恢復每一天的事務日志備份,恢復的時間會比較短。 8.1 備份和恢復概述備份和恢復概述 如果數據庫里的數據變動得比較頻繁,損失一個小時的數據都是十分嚴重的損失時,用上面的辦法備
8、份數據就不可行了,此時可以交替使用三種備份方式來備份數據庫。 例如,每天下班時做一次完整備份,在兩次完整備份之間每隔八小時做一次差異備份,在兩次差異備份之間每隔一小時做一次事務日志備份。如此一來,一旦數據損壞可以將數據恢復到最近一個小時以內的狀態,同時又能減少數據庫備份數據的時間和備份數據文件的大小。 在前面還提到過當數據庫文件過大不易備份時,可以分別備份數據庫文件或文件組,將一個數據庫分多次備份。在現實操作中,還有一種情況可以使用到數據庫文件的備份。例如在一個數據庫中,某些表里的數據變動得很少,而某些表里的數據卻經常改變,那么可以考慮將這些數據表分別存儲在不同的文件或文件組里,然后通過不同的
9、備份頻率來備份這些文件和文件組。但使用文件和文件組來進行備份,還原數據時也要分多次才能將整個數據庫還原完畢,所以除非數據庫文件大到備份困難,否則不要使用該備份方式。 8.1 備份和恢復概述備份和恢復概述 8.2.1 備份設備 數據庫備份設備是指用來存儲備份數據的存儲介質, 常用的備份設備類型包括磁盤和磁帶等。 磁盤:以硬盤或其它磁盤類設備為存儲介質。磁盤備 份設備就可以存儲在本地機器上,也可以存儲在網絡 的遠程磁盤上。如果數據備份存儲在本地機器上,在 由于存儲介質故障或服務器崩潰而造成數據丟失的情 況下,備份就沒有意義了。因此,要及時將備份文件 復制到遠程磁盤上。如果采用遠程磁盤作為備份設備,
10、 要采用統一命名方式(UNC)來表示備份文件,即 “遠程服務器名共享文件名路徑名文件名”。 磁帶:使用磁帶作為存儲介質,必須將磁帶物理地安 裝在運行SQL Server的計算機上,磁帶備份不支持網 絡遠程備份。8.2 備份操作和備份命令備份操作和備份命令 對數據庫進行備份時,備份設備可 以采用物理設備名稱和邏輯設備名 稱兩種方式。 u 物理設備名稱:即操作系統文件名, 直接采用備份文件在磁盤上以文件 方式存儲的完整路徑名,例如 “D:backupdata_full.bak”。 u 邏輯設備名稱:為物理備份設備指 定的可選的邏輯別名。使用邏輯設 備名稱可以簡化備份路徑。8.2.1 備份設備備份設
11、備創建備份設備有兩種方法:使用圖形向導方式或使用系統存儲過程sp_addumpdevice。(1)使用系統存儲過程創建命名備份設備。執行系統存儲過程sp_addumpdevice可以在磁盤或磁帶上創建命名備份設備。【例例8.1】 在本地硬盤上創建一個備份設備。USE master GOEXEC sp_addumpdevice disk, mybackupfile, E:datamybackupfile.bak8.2.1 備份設備備份設備8.2.1 備份設備備份設備(2)使用對象資源管理器創建永久備份設備。 1)打開【對象資源管理器】, 在【服務器對象】節點下找到 【備份設備】節點,單擊鼠標 右
12、鍵,彈出右鍵菜單。 2)選擇【新建備份設備】菜 單,彈出新建備份設備窗口。 3)輸入備份設備邏輯名稱, 并指定備份設備的物理路徑, 單擊【確定】即可。8.2.2 備份命令備份命令1備份整個數據庫備份整個數據庫語法格式:BACKUP DATABASE database_name /*被備份的數據庫名*/TO ,.n /*指出備份目標設備*/ WITH BLOCKSIZE = blocksize | blocksize_variable /*塊大小*/ , CHECKSUM | NO_CHECKSUM , STOP_ON_ERROR | CONTINUE_AFTER_ERROR , DESCRIP
13、TION = text | text_variable , DIFFERENTIAL , EXPIREDATE = date | date_var /*備份集到期和允許被重寫的日期*/ | RETAINDAYS = days | days_var , PASSWORD = password | password_variable , FORMAT | NOFORMAT , INIT | NOINIT /*指定是覆蓋還是追加*/ , NOSKIP | SKIP , MEDIADESCRIPTION = text | text_variable , MEDIANAME = media_name |
14、 media_name_variable , MEDIAPASSWORD = mediapassword | mediapassword_variable , NAME = backup_set_name | backup_set_name_var , STATS = percentage , COPY_ONLY 8.2.2 備份命令備份命令【例例8.2】 使用邏輯名test1在E盤中創建一個命名的備份設備,并將數據庫PXSCJ完全備份到該設備。USE masterGOEXEC sp_addumpdevice disk , test1, E:datatest1.bakBACKUP DATABA
15、SE PXSCJ TO test18.2.2 備份命令備份命令本例的執行結果如圖所示。8.2.2 備份命令備份命令【例例8.3】 將數據庫PXSCJ備份到多個備份設備。EXEC sp_addumpdevice disk,test2,E:datatest2.bakEXEC sp_addumpdevice disk,test3,E:datatest3.bakBACKUP DATABASE PXSCJ TO test2, test3 WITH NAME = pxscjbk8.2.2 備份命令備份命令2差異備份數據庫差異備份數據庫語法格式:BACKUP DATABASE database_name |
16、 database_name_var READ_WRITE_FILEGROUPS , FILEGROUP = logical_filegroup_name | logical_filegroup_name_var ,.n TO , n MIRROR TO ,.n .next-mirror WITH , DIFFERENTIAL /*其余選項與數據庫的完全備份相同*/【例例8.4】 將PXSCJ在test2, test3上進行差異備份。BACKUP DATABASE PXSCJ TO test2, test3 WITH DIFFERENTIAL8.2.2 備份命令備份命令3事務日志備份事務日志備
17、份將事務日志中從前一次成功備份結束位置開始,到當前事務日志結尾處的內容進行備份。進行事務日志備份使用BACKUP LOG語句。語法格式:BACKUP LOG database_name | database_name_var /*指定被備份的數據庫名*/ TO ,.n /*指定備份目標*/ MIRROR TO ,.n .next-mirror WITH NORECOVERY | STANDBY = undo_file_name | NO_TRUNCATE |/*其余選項與數據庫的完全備份相同*/ 8.2.2 備份命令備份命令【例例8.5】 創建一個命名的備份設備PXSCJLOGBK,并備份PX
18、SCJ數據庫的事務日志。EXEC sp_addumpdevice disk , PXSCJLOGBK , E:datatestlog.bakBACKUP LOG PXSCJ TO PXSCJLOGBK或者也可以將PXSCJ的事務日志繼續備份到test2, test3上:BACKUP LOG PXSCJ TO test2, test38.2.3 使用對象資源管理器備份使用對象資源管理器備份在SQL Server Management Studio中進行備份的步驟如下。第1步:啟動SQL Server Management Studio,在對象資源管理器中選擇“管理”,右擊鼠標,如圖所示,在彈出的
19、快捷菜單上選擇“備份”菜單項。第2步:在打開的“備份數據庫”窗口中選擇要備份的數據庫名。 選擇備份類型 選擇數據庫 選擇添加 備份目標 文件與文 件組備份 8.2.3 使用對象資源管理器備份使用對象資源管理器備份第3步:選擇了數據庫之后,窗口最下方的目標欄中會列出與PXSCJ數據庫相關的備份設備。第4步:在“備份數據庫”窗口中,將不需要的備份目標選擇后單擊“刪除”按鈕刪除,最后備份目標選擇為“mybackupfile”,單擊“確定”按鈕,執行備份操作。8.2.3 使用對象資源管理器備份使用對象資源管理器備份8.3 恢復操作和恢復命令恢復操作和恢復命令8.3.1 檢查點檢查點SQL Server
20、系統在日志中存儲有關信息,以便在需要時可以恢復(前滾)或撤銷(回滾)構成事務的數據修改。SQL Server系統對修改過的數據緩沖區的內容并不是立即寫回磁盤,而是控制寫入磁盤的時間,它將在緩沖區內修改過的數據頁存入高速緩存一段時間后再寫入磁盤,從而實現優化磁盤寫入。SQL Server系統定期將所有臟日志和數據頁刷新到磁盤,這就稱為檢查點。SQL Server恢復機制能夠通過檢查點在檢查事務日志時保證數據庫的一致性,在對事務日志進行檢查時,系統將從最后一個檢查點開始檢查事務日志,以發現數據庫中所有數據的改變。8.3.2 數據庫的恢復命令數據庫的恢復命令1恢復整個數據庫恢復整個數據庫【例例8.6
21、】 使用RESTORE語句從一個已存在的命名備份介質PXSCJBK1中恢復整個數據庫PXSCJ。首先創建備份設備PXSCJBK1:EXEC sp_addumpdevice disk, PXSCJBK1,E:dataPXSCJBK1.bak使用BACKUP命令對PXSCJ數據進行完全備份:BACKUP DATABASE PXSCJTO PXSCJBK18.3.2 數據庫的恢復命令數據庫的恢復命令接著,在恢復數據庫之前,用戶可以對PXSCJ數據庫做一些修改,例如刪除其中一個表,以便確認是否恢復了數據庫。恢復數據庫的命令如下:RESTORE DATABASE PXSCJFROM PXSCJBK1WI
22、TH FILE=1, REPLACE執行結果如圖所示。2恢復差異數據庫備份恢復差異數據庫備份【例例8.7】恢復PXSCJ的差異備份。 BACKUP LOG PXSCJ TO test2, test3WITH NORECOVERY -尾日志備份,進入還原狀態GORESTORE DATABASE PXSCJFROM test2, test3WITH FILE=1, NORECOVERY -還原完整備份GORESTORE DATABASE PXSCJFROM test2, test3WITH FILE=2, REPLACE -還原差異備份GO8.3.2 數據庫的恢復命令數據庫的恢復命令8.3.2 數
23、據庫的恢復命令數據庫的恢復命令3恢復事務日志恢復事務日志【例例8.8】恢復例8.5中PXSCJ在test2, test3上的日志備份。BACKUP LOG PXSCJ TO test2, test3WITH NORECOVERY -尾日志備份,進入還原狀態GORESTORE DATABASE PXSCJFROM test2, test3WITH FILE=1, NORECOVERY -還原完整備份GORESTORE LOG PXSCJFROM test2, test3WITH FILE=2, NORECOVERY -還原日志備份GORESTORE LOG PXSCJFROM test2, test3WITH FILE=3, REPLACE -還原日志備份GO8.3.3 圖形向導恢復數據庫圖形向導恢復數據庫使用
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 北京市建筑材料寄存與環保檢測服務協議范本2025
- 2025年北京市外貿企業員工勞動合同參考范本
- 物聯網在智慧農業中的前景展望
- 科普手術操作流程
- 電子產品物流司機用工合同
- 2025年度辦公室租賃及企業財務咨詢服務協議
- 二零二五年度互聯網企業員工勞動合同范本
- 腎衰竭護理查房
- 校園衛生咱維護勞動教育
- 林地使用權轉讓合同模板
- 湖南省炎德英才名校聯考聯合體2024-2025學年高二下學期3月月考-數學+答案
- (3月省質檢)福建省2025屆高三畢業班適應性練習卷英語試卷(含答案)
- 專業網格員測試題及答案
- 2025年上半年貴州黔東南州各縣(市)事業單位招聘工作人員1691人筆試易考易錯模擬試題(共500題)試卷后附參考答案
- 湖南省長沙市雅禮教育集團2024-2025學年高一上學期期末考試英語試卷含答案
- 生豬屠宰獸醫衛生檢驗人員理論考試題庫及答案
- 2023年廣東省中學生生物學聯賽試題解析(word)及答案(掃描版)
- 《云南省食品安全地方標準 天麻》編制說明
- 基于語音信號去噪處理的FIR低通濾波器設計要點
- G414(五) 預應力鋼筋混凝土工字形屋面梁
- 木箱制作作業指導書
評論
0/150
提交評論