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

下載本文檔

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

文檔簡(jiǎn)介

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

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論