《數(shù)據(jù)庫》第十講數(shù)據(jù)的備份、恢復(fù)與傳輸.ppt.ppt_第1頁
《數(shù)據(jù)庫》第十講數(shù)據(jù)的備份、恢復(fù)與傳輸.ppt.ppt_第2頁
《數(shù)據(jù)庫》第十講數(shù)據(jù)的備份、恢復(fù)與傳輸.ppt.ppt_第3頁
《數(shù)據(jù)庫》第十講數(shù)據(jù)的備份、恢復(fù)與傳輸.ppt.ppt_第4頁
《數(shù)據(jù)庫》第十講數(shù)據(jù)的備份、恢復(fù)與傳輸.ppt.ppt_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第十講數(shù)據(jù)的備份、恢復(fù)和傳輸,2020年5月18日,教學(xué)內(nèi)容,事務(wù)概念、屬性、執(zhí)行事務(wù)的3種模式數(shù)據(jù)鎖的概念、鎖的對象、鎖的方法以及死鎖問題數(shù)據(jù)的備份、恢復(fù)以及傳輸?shù)姆椒?2020年5月18日,學(xué)習(xí)目標(biāo)及重點,學(xué)習(xí)目標(biāo)掌握事務(wù)概念、屬性掌握數(shù)據(jù)鎖的概念和死鎖問題掌握數(shù)據(jù)備份的概念學(xué)會如何備份數(shù)據(jù)庫、恢復(fù)數(shù)據(jù)庫SQLServer數(shù)據(jù)庫與其它軟件的數(shù)據(jù)交換重點與難點事務(wù)概念事務(wù)屬性執(zhí)行事務(wù)的3種模式數(shù)據(jù)鎖的概念及死鎖問題如何在企業(yè)管理器中執(zhí)行數(shù)據(jù)庫備份如何使用Transact-SQL語句執(zhí)行數(shù)據(jù)庫備份如何使用企業(yè)管理器恢復(fù)數(shù)據(jù)庫如何使用Transact-SQL語句恢復(fù)數(shù)據(jù)庫,2020年5月18日,10.1事務(wù)簡介,10.1.1事務(wù)概念事務(wù)是作為單個邏輯工作單元執(zhí)行的一系列操作。一個邏輯工作單元必須有四個屬性,稱為ACID(原子性、一致性、隔離性和持久性)屬性,只有這樣才能成為一個事務(wù),2020年5月18日,10.1.2事務(wù)的屬性(ACID),原子性(Atomicity)事務(wù)必須是原子工作單元;對于其數(shù)據(jù)修改,要么全都執(zhí)行,要么全都不執(zhí)行。一致性(Consistency)事務(wù)在完成時,必須使所有的數(shù)據(jù)都保持一致狀態(tài)隔離性(Isolation)由并發(fā)事務(wù)所作的修改必須與任何其它并發(fā)事務(wù)所作的修改隔離持久性(Durability)事務(wù)完成之后,它對于系統(tǒng)的影響是永久性的。,2020年5月18日,10.1.3執(zhí)行事務(wù)的3種模式,1.顯式事務(wù):可以顯式地在其中定義事務(wù)的啟動和結(jié)束。語法BEGINTRANSACTIONtransaction_name|tran_name_variableWITHMARKdescription參數(shù)transaction_name是給事務(wù)分配的名稱。不允許標(biāo)識符多于32個字符。tran_name_variable用char、varchar、nchar或nvarchar數(shù)據(jù)類型聲明有效事務(wù)的變量的名稱WITHMARKdescription指定在日志中標(biāo)記事務(wù)。Description是描述該標(biāo)記的字符串。如果使用了WITHMARK,則必須指定事務(wù)名。WITHMARK允許將事務(wù)日志還原到命名標(biāo)記。,2020年5月18日,顯式事務(wù)語句,2020年5月18日,自動提交、隱含事務(wù),2.自動提交事務(wù)系統(tǒng)默認的事務(wù)方式,許多SQL語句在執(zhí)行時都會自動發(fā)生的事務(wù)。每個數(shù)據(jù)操作語句即為一個事務(wù)。3.隱含事務(wù)當(dāng)連接以隱性事務(wù)模式進行操作時,SQLServer將在提交或回滾當(dāng)前事務(wù)后自動啟動新事務(wù)。無須描述事務(wù)的開始,只須提交或回滾每個事務(wù)。隱性事務(wù)模式生成連續(xù)的事務(wù)鏈。,2020年5月18日,EX事務(wù),例:建立內(nèi)含事務(wù)的存儲過程CreateProcTestTranasBeginTRANSelect*FromStudInfoRollbackGo,2020年5月18日,事務(wù)保存點的設(shè)置與回滾,SAVETRANSACTION在事務(wù)內(nèi)設(shè)置保存點。語法SAVETRANSACTIONsavepoint_name|savepoint_variable參數(shù)savepoint_name是指派給保存點的名稱。保存點名稱必須符合標(biāo)識符規(guī)則,但只使用前32個字符savepoint_variable是用戶定義的、含有有效保存點名稱的變量的名稱。必須用char、varchar、nchar或nvarchar數(shù)據(jù)類型聲明該變量。BEGINTRANSAVETRANTempTranIF(ERROR0)BEGINROLLBACKTRANTempTran-回滾到事務(wù)保存點/*失敗時所使用的變通方案*/END.IF(.)COMMITELSEROLLBACK,2020年5月18日,分布式事務(wù),如果要在事務(wù)中存取多個數(shù)據(jù)庫服務(wù)器中的數(shù)據(jù)(包含執(zhí)行存儲過程),就必須使用“分布式事務(wù)”(DistributedTransaction)BeginDistributedtranInsertintoCourseInfo(CourseID,CourseName)values(A00232,TestName)IfERROR0GOTOERRORPROCINSERTINTOAnotherServer.DatabaseName.dbo.tablename(FieldName1,FieldName2)values(Values1,Values2)ERRORPROC:IFERROR0ROLLBACKELSECOMMIT,2020年5月18日,10.2數(shù)據(jù)鎖,鎖定(Lock)是將指定的數(shù)據(jù)臨時鎖起來供我們使用,以防止該數(shù)據(jù)被別人修改或讀取。并發(fā)性(Concurrency):允許多個事務(wù)同時進行數(shù)據(jù)處理的性質(zhì)樂觀與悲觀并發(fā)性控制樂觀并發(fā)性控制(OptimisticConcurrency):樂觀控制(或稱樂觀鎖定)就是假設(shè)發(fā)生數(shù)據(jù)存取沖突的機會很小,因此在事務(wù)中并不會持續(xù)鎖定數(shù)據(jù),而只有在更改數(shù)據(jù)時才會去鎖定數(shù)據(jù)并檢查是否發(fā)生存取沖突。悲觀并發(fā)性控制(PessimiticConcurrency):悲觀控制(或稱悲觀鎖定)與樂觀控制剛好相反,它會在事務(wù)中持續(xù)鎖定要使用的數(shù)據(jù),以確保數(shù)據(jù)可以正確存取。,2020年5月18日,鎖的對象,2020年5月18日,鎖的方法,獨占式鎖(ExclusiveLock):Exclusive鎖可禁止其他事務(wù)對數(shù)據(jù)作存取或鎖定操作共享式鎖(SharedLock):Shared鎖可將數(shù)據(jù)設(shè)成只讀,并禁止其他事務(wù)對該數(shù)據(jù)作Exclusive鎖定,但卻允許其他事務(wù)對數(shù)據(jù)再作Shared鎖定。更改式鎖(UpdateLock):Update鎖可以和Shared鎖共存,但禁止其他的Update鎖或Exclusive鎖。,2020年5月18日,死鎖問題,當(dāng)多個事務(wù)的手中都鎖定了某些資源,卻又在等待另外一些被彼此鎖定的資源時,就會發(fā)生死鎖(Deadlock)避免死鎖發(fā)生的技巧使用相同的順序來存取數(shù)據(jù)盡量縮短事務(wù)的時間盡量使用較低的隔離等級,2020年5月18日,10.3數(shù)據(jù)庫備份概念,數(shù)據(jù)庫的備份和恢復(fù)是維護數(shù)據(jù)庫的安全性和完整性的重要組成部分。通過備份數(shù)據(jù)庫,可以防止因為各種原因而造成的數(shù)據(jù)破壞和丟失?;謴?fù)是指在造成數(shù)據(jù)丟失和破壞以后利用備份來恢復(fù)數(shù)據(jù)的操作。用戶的錯誤操作和蓄意破壞、病毒攻擊和自然界不可抗力,造成數(shù)據(jù)丟失的因素。,2020年5月18日,10.3.1備份設(shè)備,創(chuàng)建備份時,必須選擇存放備份數(shù)據(jù)庫的備份設(shè)備。(1)磁盤設(shè)備和磁帶設(shè)備磁盤備份設(shè)備是硬盤或其他磁盤存儲媒體上的文件,可以像操作系統(tǒng)文件一樣進行管理備份到遠程計算機上的磁盤,使用通用命名規(guī)則名稱(UNC),以ServernameSharenamePathFile格式指定文件的位置。,2020年5月18日,(2)物理設(shè)備和邏輯設(shè)備,SQLServer使用物理設(shè)備名稱或邏輯設(shè)備名稱標(biāo)識備份設(shè)備。物理備份設(shè)備是操作系統(tǒng)用來標(biāo)識備份設(shè)備的名稱,如C:BackupsAccountingFull.bak??梢杂眠壿嬙O(shè)備名稱執(zhí)行BACKUP語句:BACKUPDATABASEaccountingTOAccounting_Backup也可以使用邏輯設(shè)備名稱執(zhí)行語句:BACKUPDATABASEaccountingTODISK=C:BackupsAccountingFull.Bak,2020年5月18日,(3)創(chuàng)建永久備份設(shè)備,使用企業(yè)管理創(chuàng)建永久備份設(shè)備使用T-SQL語句執(zhí)行存儲過程sp_addumpdevice創(chuàng)建一個可以再次使用的備份設(shè)備。Sp_addumpdevice設(shè)備類型,設(shè)備邏輯名,設(shè)備的物理名稱如:使用本地磁盤的一個文件創(chuàng)建一個邏輯名稱為“company_back”的磁盤備份設(shè)備:EXECsp_addumpdevicedisk,company_back,d:Data_backupcompany_back.bak刪除一個備份設(shè)備用存儲過程sp_dropdevicesp_dropdevice設(shè)備的邏輯名稱,delfile刪除備份設(shè)備company_back,并不刪除相關(guān)的物理文件:EXECsp_dropdevicecompany_back刪除備份設(shè)備并將相關(guān)的物理文件刪除EXECsp_dropdevicecompany_back,DELFILE,2020年5月18日,10.3.2備份策略,SQLServer2000提出4種主要的備份方式:數(shù)據(jù)庫備份、事務(wù)日志備份、差異備份、文件和文件組備份。完整數(shù)據(jù)庫備份是數(shù)據(jù)庫的完整復(fù)本。事務(wù)日志備份僅復(fù)制事務(wù)日志。差異備份僅復(fù)制自上一次完整數(shù)據(jù)庫備份之后修改過的數(shù)據(jù)庫頁。文件或文件組還原僅允許恢復(fù)數(shù)據(jù)庫中位于故障磁盤上的那部分,2020年5月18日,10.3.3執(zhí)行數(shù)據(jù)庫備份,使用企業(yè)管理器創(chuàng)建數(shù)據(jù)庫備份(企業(yè)管理器)展開服務(wù)器組,然后展開服務(wù)器。展開數(shù)據(jù)庫文件夾,右擊數(shù)據(jù)庫,指向所有任務(wù)子菜單,然后單擊備份數(shù)據(jù)庫命令。在名稱框內(nèi),輸入備份集名稱。在描述框中輸入對備份集的描述。(可選)在備份選項下單擊數(shù)據(jù)庫完全。在目的選項下,單擊磁帶或磁盤,然后指定備份目的地。如果沒出現(xiàn)備份目的地,則單擊添加以添加現(xiàn)有的目的地或創(chuàng)建新目的地。,2020年5月18日,創(chuàng)建數(shù)據(jù)庫備份,在重寫選項下,執(zhí)行下列操作之一:單擊追加到媒體,將備份追加到備份設(shè)備上任何現(xiàn)有的備份中。單擊重寫現(xiàn)有媒體,將重寫備份設(shè)備中任何現(xiàn)有的備份。選擇調(diào)度復(fù)選框調(diào)度備份操作在以后執(zhí)行或定期執(zhí)行。(可選)單擊選項選項卡并執(zhí)行下列一項或多項操作:(可選)選擇完成后驗證備份復(fù)選框,在備份時對備份進行驗證。選擇備份后彈出磁帶復(fù)選框,在備份操作完成后彈出磁帶。該選項只適用于磁帶設(shè)備。選擇檢查媒體集名稱和備份集到期時間,檢查備份媒體以防意外重寫。如果是第一次使用備份媒體,或者要更改現(xiàn)有的媒體標(biāo)簽,則在媒體集標(biāo)簽框下選擇初始化并標(biāo)識媒體復(fù)選框,然后輸入媒體集名稱和媒體集描述。只有在重寫媒體時才能對其進行初始化和標(biāo)識設(shè)置。,2020年5月18日,數(shù)據(jù)庫備份,(1)執(zhí)行完全數(shù)據(jù)庫備份BACKUPDATABASEcompanyTODISK=D:SQLBackupcompany.bak(2)執(zhí)行差異數(shù)據(jù)庫備份BACKUPDATABASEcompanyTOcompany_backupWITHDIFFERENTIAL(3)執(zhí)行事務(wù)處理日志備份BACKUPLOGcompanyTOcompany_log_backup在BACKUPLOG語句中可以使用WITHNO_TRUNCATE參數(shù),指定在完成事務(wù)日志備份以后,并不清空原有日志的數(shù)據(jù)。(4)執(zhí)行文件和文件組備份可以在BACKUPDATABASE語句中使用“FILE=邏輯文件名”或“FILEGROUP=邏輯文件組名”執(zhí)行一個文件和文件組備份。BACKUPDATABASEcompanyFILEGROUP=PRIMARYTOcompany_filegroupbackup_primary,2020年5月18日,10.3.1使用企業(yè)管理器恢復(fù)數(shù)據(jù)庫備份,啟動企業(yè)管理服務(wù)器,展開服務(wù)器組,然后展開服務(wù)器。展開“數(shù)據(jù)庫”文件夾,右擊數(shù)據(jù)庫,指向“所有任務(wù)”子菜單,然后單擊“還原數(shù)據(jù)庫”命令,彈出如圖所示的對話框。在“還原為數(shù)據(jù)庫”列表框中,如果要恢復(fù)的數(shù)據(jù)庫名稱與顯示的默認數(shù)據(jù)庫名稱不同,請在其中進行輸入或選擇。若要用新名稱恢復(fù)數(shù)據(jù)庫,輸入新的數(shù)據(jù)庫名稱。在還原選項欄中單擊“數(shù)據(jù)庫”單選按鈕。,2020年5月18日,在“要還原的第一個備份”列表中,選擇要恢復(fù)的備份集。在“還原”列表中,單擊要恢復(fù)的數(shù)據(jù)庫備份。單擊“選項”選項卡并執(zhí)行下列操作:(可選)在“還原為”中輸入組成數(shù)據(jù)庫備份的各數(shù)據(jù)庫文件的新名稱或新位置。如果沒有其他要應(yīng)用的事務(wù)日志或差異數(shù)據(jù)庫備份,單擊“使數(shù)據(jù)庫可以繼續(xù)運行,但無法恢復(fù)其他事務(wù)日志”。如果要應(yīng)用另一個事務(wù)日志或差異數(shù)據(jù)庫備份,則單擊“使數(shù)據(jù)庫不再運行,但能恢復(fù)其他事務(wù)日志”然后單擊“確認”開始恢復(fù)。,2020年5月18日,10.3.2使用T-SQL語句恢復(fù)數(shù)據(jù)庫,RESTORE恢復(fù)使用BACKUP命令所做的備份恢復(fù)數(shù)據(jù)庫的語法格式為:RESTOREDATABASEdatabase_name|database_name_var,.nFROM,.n恢復(fù)事務(wù)日志的語法格式為:RESTORELOGdatabase_name|database_name_varFROM,.n例:顯示恢復(fù)完整數(shù)據(jù)庫備份。restoredatabaselwzzfromlwzz_1例:恢復(fù)完整數(shù)據(jù)庫備份后恢復(fù)差異備份。另外,本例還說明如何恢復(fù)媒體上的另一個備份集,差異備份追加到包含完整數(shù)據(jù)庫備份的備份設(shè)備上。restoredatabaselwzzfromlwzz_1withnorecoveryrestoredatabaselwzzfromlwzz_1withfile=2,2020年5月18日,10.4數(shù)據(jù)傳輸,10.4.1使用導(dǎo)入導(dǎo)出向?qū)?dǎo)入數(shù)據(jù)是從SQLServer的外部數(shù)據(jù)源(如ASCII文本文件)中檢索數(shù)據(jù),并將數(shù)據(jù)插入到SQLServer表的過程。導(dǎo)出數(shù)據(jù)是將SQLServer實例中的數(shù)據(jù)析取為某些用戶指定格式的過程,例如將SQLServer表的內(nèi)容復(fù)制到MicrosoftAccess數(shù)據(jù)庫中。將數(shù)據(jù)從外部數(shù)據(jù)源導(dǎo)入SQLServ

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論