第13章SQL-備份與恢復(fù)_第1頁
第13章SQL-備份與恢復(fù)_第2頁
第13章SQL-備份與恢復(fù)_第3頁
第13章SQL-備份與恢復(fù)_第4頁
第13章SQL-備份與恢復(fù)_第5頁
已閱讀5頁,還剩24頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第13章備份與恢復(fù)13.1備份的概念13.2備份數(shù)據(jù)庫13.3恢復(fù)概述13.4本章總結(jié)13.5思考與實訓(xùn)練習(xí)學(xué)習(xí)目的:通過本章學(xué)習(xí),你能夠?qū)W到:1.?dāng)?shù)據(jù)庫備份和恢復(fù)的根本概念。2.使用企業(yè)管理器和系統(tǒng)存儲過程規(guī)劃和執(zhí)行備份操作。3.使用企業(yè)管理器和系統(tǒng)存儲過程規(guī)劃和執(zhí)行恢復(fù)操作。13.1備份的概念

備份就是對SQLServer數(shù)據(jù)庫或事務(wù)日志進(jìn)行備份,數(shù)據(jù)庫備份記錄了在進(jìn)行備份這一操作時數(shù)據(jù)庫中所有數(shù)據(jù)的狀態(tài),以便在數(shù)據(jù)庫遭到破壞時能夠及時地將其恢復(fù)。備份是恢復(fù)受損數(shù)據(jù)庫最容易,把意外損失降低到最小的保障方法。沒有備份,所有的數(shù)據(jù)都可能會喪失。SQLServer2000提供了四種備份方式:〔一〕完全數(shù)據(jù)庫備份〔Dadabase-complete〕:是指對數(shù)據(jù)庫的完整備份,包括所有的數(shù)據(jù)及數(shù)據(jù)庫對象。所有未完成的事務(wù)或者發(fā)生在備份過程中的事務(wù)都不會被備份?!捕巢町悅浞莼蚍Q增量備份〔Dadabase-differential〕:是指將最近一次數(shù)據(jù)庫備份以來發(fā)生的數(shù)據(jù)變化備份起來,因此差異備份實際上是一種增量數(shù)據(jù)庫備份。與完整數(shù)據(jù)庫備份相比,差異備份由于備份的數(shù)據(jù)量較小,所以備份和恢復(fù)所用的時間較短?!踩呈聞?wù)日志備份〔Transactionlog〕:是指對數(shù)據(jù)庫發(fā)生的事務(wù)進(jìn)行備份,包括從上次進(jìn)行事務(wù)日志備份、差異備份和數(shù)據(jù)庫完全備份之后,所有已經(jīng)完成的事務(wù)。〔四〕數(shù)據(jù)庫文件和文件組備份〔Fileandfilegroup〕:是指對數(shù)據(jù)庫文件或文件夾進(jìn)行備份,但不像完整的數(shù)據(jù)庫備份那樣,同時也進(jìn)行事務(wù)日志備份。13.2備份數(shù)據(jù)庫創(chuàng)立備份設(shè)備刪除備份設(shè)備備份數(shù)據(jù)庫創(chuàng)立備份設(shè)備

在進(jìn)行備份以前首先必須指定或創(chuàng)立備份設(shè)備,備份設(shè)備是用來存儲數(shù)據(jù)庫、事務(wù)日志或文件和文件組備份的存儲介質(zhì),備份設(shè)備可以是硬盤、磁帶或管道。當(dāng)使用磁盤時,SQLServer允許將本地主機(jī)硬盤和遠(yuǎn)程主機(jī)上的硬盤作為備份設(shè)備,備份設(shè)備在硬盤中是以文件的方式存儲的。創(chuàng)立備份設(shè)備有兩種方法:一是使用SQLServer企業(yè)管理器創(chuàng)立備份設(shè)備二是使用系統(tǒng)存儲過程創(chuàng)立備份設(shè)備。下面將分別通過具體實例加以介紹。操作步驟:2.使用系統(tǒng)存儲過程創(chuàng)立備份設(shè)備在SQLServer中,可以使用sp_addumpdevice語句創(chuàng)立備份設(shè)備。[實例13.2]使用系統(tǒng)存儲過程在本地磁盤上為學(xué)生庫創(chuàng)立一個備份設(shè)備backup_學(xué)生。操作步驟:啟動查詢分析器,輸入如下SQL語句:use學(xué)生庫goexecsp_addumpdevice'disk','backup_學(xué)生','C:\ProgramFiles\MicrosoftSQLServer\MSSQL\BACKUP\bk_學(xué)生.bak'go按“F5〞鍵或單擊工具欄“執(zhí)行查詢〞圖標(biāo)執(zhí)行。我們在這里給出其命令格式如下:

sp_addumpdevice[@devtype=]‘device_type’,[@logicalname=]’logical_name’,[@physicalname=]’physical_name’,[,{[@cntrltype=]controller_type|[@devstatus=]’device_status’}]命令格式說明:@devtype表示設(shè)備類型,其值可以為disk,pipe,tape。@logicalname表示設(shè)備的邏輯名稱。@physicalname表示設(shè)備的實際名稱。@cntrltype不同的取值代表不同的含義。2表示磁盤,5表示磁帶,6表示管道。@devstatus表示設(shè)備狀態(tài),有兩個選項:skip和noskip。刪除備份設(shè)備

刪除備份設(shè)備與創(chuàng)立的過程類似,只須在企業(yè)管理器中選中要刪除的備份設(shè)備,在彈出的菜單中選擇刪除選項即可刪除該備份設(shè)備?;蛘呤褂胹p_dropdevice語句來刪除備份設(shè)備。其語法如下:sp_dropdevice[‘logical_name’][,’delfile’]其中l(wèi)ogical_name表示備份設(shè)備的邏輯名,delfile表示相對應(yīng)的實體文件。當(dāng)執(zhí)行該存儲過程時,delfile選項必須給出,否那么備份設(shè)備相對應(yīng)的實體文件仍舊存在。例如刪除例13.2創(chuàng)立的備份設(shè)備可使用如下語句實現(xiàn):sp_dropdevice‘backup_學(xué)生’,‘C:\ProgramFiles\MicrosoftSQLServer\MSSQL\BACKUP\bk_學(xué)生.bak’

備份數(shù)據(jù)庫

SQLServer系統(tǒng)提供了三種數(shù)據(jù)庫備份操作的方法:一是SQLServer企業(yè)管理器二是備份向?qū)荰ransact-SQL語句。下面將分別做以介紹。1、使用企業(yè)管理器進(jìn)行數(shù)據(jù)庫備份[實例13.3]使用企業(yè)管理器對學(xué)生庫進(jìn)行完全備份。2、使用備份向?qū)нM(jìn)行數(shù)據(jù)庫備份這種方法與前面介紹的使用企業(yè)管理器的方法大體相似,進(jìn)入備份向?qū)б彩峭ㄟ^企業(yè)管理器,在企業(yè)管理器的界面中選擇“工具〞下拉菜單,在其中選擇“向?qū)Ж曔x項,在彈出的菜單中選擇“管理〞節(jié)點展開,選擇“備份向?qū)Ж暎瑔螕舸_定,那么用戶就可以根據(jù)向?qū)ネ瓿蓴?shù)據(jù)庫備份工作,其中的一些選項設(shè)置與上例中相同,在此就不再贅訴。3、使用Transact-SQL語句進(jìn)行數(shù)據(jù)庫備份進(jìn)行備份數(shù)據(jù)庫的簡單語句如下:BACKUPDATABASEdatabase_nameTObackup_device_name[,…n][WITHDIFFERENTIAL] 其中,WITHDIFFERENTIAL表示增量備份。例如:將學(xué)生庫備份到backup_學(xué)生設(shè)備中,可用如下語句實現(xiàn):BACKUPDATABASE學(xué)生庫TObackup_學(xué)生GO進(jìn)行日志備份的語法如下:BACKUPLOGdatabase_nameTObackup_device_name[,…n][WITHNO_TRUNCATE]其中,WITHNO_TRUNCATE表示在完成事務(wù)日志備份后,并不清空原有日志的數(shù)據(jù)。這個可選項可以用在當(dāng)數(shù)據(jù)庫遭到損壞或數(shù)據(jù)庫被標(biāo)識為可疑時進(jìn)行日志的備份。例如:備份學(xué)生庫的日志文件到backuplog_學(xué)生設(shè)備中,可用如下語句實現(xiàn):BACKUPLOG學(xué)生庫TObackuplog_學(xué)生GO13.3恢復(fù)概述

數(shù)據(jù)庫備份后,一旦系統(tǒng)發(fā)生崩潰或者執(zhí)行了錯誤的數(shù)據(jù)庫操作,就可以從備份文件中恢復(fù)數(shù)據(jù)庫。數(shù)據(jù)庫恢復(fù)是指將數(shù)據(jù)庫備份加載到系統(tǒng)中的過程。系統(tǒng)在恢復(fù)數(shù)據(jù)庫的過程中,自動執(zhí)行平安性檢查、重建數(shù)據(jù)庫結(jié)構(gòu)以及完整數(shù)據(jù)庫內(nèi)容。實現(xiàn)數(shù)據(jù)庫的恢復(fù)可以通過企業(yè)管理器,也可以使用T-SQL語句來實現(xiàn)。13.3.1使用企業(yè)管理器恢復(fù)數(shù)據(jù)庫

[實例13.4]使用企業(yè)管理器恢復(fù)已經(jīng)備份的學(xué)生庫。使用Transact-SQL語句恢復(fù)數(shù)據(jù)庫

[實例13.5]:從backup_學(xué)生備份設(shè)備中恢復(fù)數(shù)據(jù)庫學(xué)生庫,將其恢復(fù)到學(xué)生庫1中。T-SQL語句提供了RESTORE命令進(jìn)行恢復(fù)操作,其語法形式如下:

Restoredatabase[from<backup_device>[,…n]][with [[,]file=file_number][[,]move‘logical_file_name’to‘operating_system_file_name’][[,]replace][[,]{norecovery|recovery|standby=undo_file_name}]]命令說明,這里僅給出幾個主要參數(shù)的說明,其他局部可參考聯(lián)機(jī)叢書。File:表示恢復(fù)具有多個備份子集的備份介質(zhì)中的那個備份子集。Move:表示把備份的數(shù)據(jù)庫文件恢復(fù)到系統(tǒng)的某一位置缺省條件下,恢復(fù)到備份時的位置。Norecovery:表示恢復(fù)操作不回滾任何未提交的事務(wù)Recovery:表示回滾所有未提交的事務(wù),在恢復(fù)結(jié)束后數(shù)據(jù)庫就可以使用。Standby:表示數(shù)據(jù)庫操作的UNDO文件。13.4本章總結(jié)

(1)本章介紹了備份數(shù)據(jù)庫的必要性。備份就是對SQLServer數(shù)據(jù)庫或事務(wù)日志進(jìn)行備份,數(shù)據(jù)庫備份記錄了在進(jìn)行備份這一操作時數(shù)據(jù)庫中所有數(shù)據(jù)的狀態(tài),以便在數(shù)據(jù)庫遭到破壞時能夠及時地將其恢復(fù)?!?〕SQLServer2000提供了四種備份方式分別是完全數(shù)據(jù)庫備份;差異備份或稱增量備份;事務(wù)日志備份;數(shù)據(jù)庫文件和文件組備份。每種備份方式都具有各自的特點。〔3〕介紹了備份數(shù)據(jù)庫的過程,創(chuàng)立和刪除備份設(shè)備的方法,可以使用企業(yè)管理器也可以使用T-SQL語句來實現(xiàn)。然后進(jìn)行數(shù)據(jù)庫的備份操作,介紹了三種方法:企業(yè)管理器,備份向?qū)Ш蚑-SQL語句。〔4〕本章還介紹了數(shù)據(jù)庫恢復(fù)的必要性。數(shù)據(jù)庫備份后,一旦系統(tǒng)發(fā)生崩潰或者執(zhí)行了錯誤的數(shù)據(jù)庫操作,就可以從備份文件中恢復(fù)數(shù)據(jù)庫。數(shù)據(jù)庫恢復(fù)是指將數(shù)據(jù)庫備份加載到系統(tǒng)中的過程。系統(tǒng)在恢復(fù)數(shù)據(jù)庫的過程中,自動執(zhí)行平安性檢查、重建數(shù)據(jù)庫結(jié)構(gòu)以及完整數(shù)據(jù)庫內(nèi)容。13.5思考與實訓(xùn)練習(xí)

思考題1.什么是數(shù)據(jù)庫備份,有那幾種類型?2.為什么要進(jìn)行數(shù)據(jù)庫的備份與恢復(fù)?3.創(chuàng)立備份設(shè)備的方法有哪些?4.如何備份一個數(shù)據(jù)庫?5.恢復(fù)數(shù)據(jù)庫有那幾種方法?6.如何恢復(fù)數(shù)據(jù)庫?實訓(xùn)

1、實訓(xùn)目的〔1〕掌握SQLServer2000中創(chuàng)立刪除備份設(shè)備的方法,以及備份和恢復(fù)數(shù)據(jù)庫的方法。〔2〕掌握使用企業(yè)管理器和T-SQL語句兩種方法進(jìn)行備份和恢復(fù)。2、實訓(xùn)環(huán)境SQLServer2000的企業(yè)管理器和查詢分析器。3、實訓(xùn)內(nèi)容〔1〕使用企業(yè)管理器對Northwind數(shù)據(jù)庫進(jìn)行備份。①通過企業(yè)管理器創(chuàng)立一個備份設(shè)備NT-bak。②該設(shè)備的物理文件路徑為D盤North文件夾,文件名為NT-bak.bak。③使用企業(yè)管理器對該數(shù)據(jù)庫進(jìn)行完全備份,對數(shù)據(jù)庫的描述為“第一次備份〞。④將該數(shù)據(jù)庫備份到NT-bak的設(shè)備上。⑤指定在每次啟動SQLServerAgent效勞時對Northwind數(shù)據(jù)庫進(jìn)行備份?!?〕使用T-SQL語句對pubs數(shù)據(jù)庫進(jìn)行備份。①使用T-SQL語句創(chuàng)立一個disk類型的備份設(shè)備pub-bak。②該設(shè)備的物理文件為D盤pubs文件夾中的pub-bak.bak。③在pubs數(shù)據(jù)庫中創(chuàng)立一個表格mytest。④使用T-SQL語句對該數(shù)據(jù)庫進(jìn)行增量備份。⑤將該數(shù)據(jù)庫備份到pub-bak的設(shè)備上。〔3〕使用企業(yè)管理器對Northwind數(shù)據(jù)庫進(jìn)行恢復(fù),比較恢復(fù)前后的不同。①在Northwind數(shù)據(jù)庫中創(chuàng)立一個表格名為test。②將實驗〔1〕中的關(guān)于該數(shù)據(jù)庫的備份恢復(fù)到Northwind數(shù)據(jù)庫中。③比較恢復(fù)前后Northwind數(shù)據(jù)庫的不同〔4〕使用T-SQL語句對pubs數(shù)據(jù)庫進(jìn)行恢復(fù)。①使用T-SQL語句將實驗〔2〕中的關(guān)于該數(shù)據(jù)庫的備份恢復(fù)到pubs數(shù)據(jù)庫中。②在查詢分析器中觀察執(zhí)行后的消息框中,對該操作所有的時間。③將實驗〔2〕中的pubs數(shù)據(jù)庫進(jìn)行完全備份。④使用T-SQL語句將③中的關(guān)于該數(shù)據(jù)庫的備份恢復(fù)到pubs數(shù)

溫馨提示

  • 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

提交評論