《事務(wù)和鎖》PPT課件

《事務(wù)和鎖》PPT課件

ID:39385314

大?。?25.10 KB

頁(yè)數(shù):40頁(yè)

時(shí)間:2019-07-02

《事務(wù)和鎖》PPT課件_第1頁(yè)
《事務(wù)和鎖》PPT課件_第2頁(yè)
《事務(wù)和鎖》PPT課件_第3頁(yè)
《事務(wù)和鎖》PPT課件_第4頁(yè)
《事務(wù)和鎖》PPT課件_第5頁(yè)
資源描述:

《《事務(wù)和鎖》PPT課件》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)

1、第09章事務(wù)和鎖內(nèi)容提要事務(wù)是由一系列的數(shù)據(jù)操作命令組成,是數(shù)據(jù)庫(kù)應(yīng)用程序的基本邏輯單元。SQLServer2005在對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作時(shí),通過(guò)事務(wù)來(lái)保證數(shù)據(jù)的一致性和完整性。用戶訪問(wèn)數(shù)據(jù)庫(kù)時(shí),經(jīng)常出現(xiàn)并發(fā)的情況。數(shù)據(jù)庫(kù)系統(tǒng)的并發(fā)處理能力是衡量其性能的重要標(biāo)志之一。數(shù)據(jù)庫(kù)系統(tǒng)通過(guò)適當(dāng)?shù)牟l(fā)控制機(jī)制協(xié)調(diào)并發(fā)操作,保證數(shù)據(jù)的一致性。在SQLServer2005中,以事務(wù)為基本操作單位,使用鎖來(lái)實(shí)現(xiàn)并發(fā)控制。第09章事務(wù)和鎖9.1事務(wù)概述9.2管理事務(wù)9.3管理并發(fā)數(shù)據(jù)訪問(wèn)9.4管理鎖9.5小結(jié)9.1事務(wù)概述在計(jì)算機(jī)系統(tǒng)設(shè)計(jì)過(guò)程中,與一個(gè)商業(yè)事務(wù)相關(guān)的數(shù)

2、據(jù)必須保證可靠性、一致性和完整性,以符合實(shí)際的商業(yè)過(guò)程。在SQLServer2005中,通常由事務(wù)來(lái)完成相關(guān)操作,以確保多個(gè)數(shù)據(jù)的修改作為一個(gè)單元來(lái)處理。事務(wù)(Transaction)是單個(gè)的工作單元。如果某一事務(wù)執(zhí)行成功,則在該事務(wù)中進(jìn)行的所有數(shù)據(jù)修改均會(huì)提交,成為數(shù)據(jù)庫(kù)中的永久組成部分。如果事務(wù)遇到錯(cuò)誤且必須取消或回滾,則所有數(shù)據(jù)修改均被還原。9.1事務(wù)概述9.1.1事務(wù)的特點(diǎn)定義事務(wù)必須符合如下的典型特征。原子性(Atomicity):事務(wù)包含的一系列數(shù)據(jù)操作是是一個(gè)整體。執(zhí)行部分操作則數(shù)據(jù)會(huì)回滾到原來(lái)的狀態(tài)。一致性(Consistency

3、):事務(wù)執(zhí)行完成后,將數(shù)據(jù)庫(kù)從一個(gè)一致狀態(tài)轉(zhuǎn)變到另一個(gè)一致狀態(tài),事務(wù)不能違背定義在數(shù)據(jù)庫(kù)中的任何完整性檢查。隔離性(Isolation):一一個(gè)事務(wù)內(nèi)部的操作及使用的數(shù)據(jù)對(duì)并發(fā)的其他事務(wù)是隔離的,并發(fā)執(zhí)行的各個(gè)事務(wù)之間不能互相干擾持久性(Durability):要求一旦事務(wù)提交,那么對(duì)數(shù)據(jù)庫(kù)所做的修改將是持久的,無(wú)論發(fā)生何種機(jī)器和系統(tǒng)故障,都不應(yīng)該對(duì)其有任何影響。9.1事務(wù)概述9.1.2事務(wù)的分類任何對(duì)數(shù)據(jù)的修改都是在事務(wù)環(huán)境中進(jìn)行的。按照事務(wù)定義的方式可以將事務(wù)分為系統(tǒng)定義事務(wù)和用戶定義事務(wù)。SQLServer2005支持3種事務(wù)模式分別對(duì)應(yīng)上

4、述兩類事務(wù):自動(dòng)提交事務(wù)、顯式事務(wù)和隱式事務(wù)。(1)自動(dòng)提交事務(wù)。SQLServer2005將一切操作作為事務(wù)處理,它不會(huì)在事務(wù)以外更改數(shù)據(jù)。如果沒(méi)有用戶定義事務(wù),SQLServer會(huì)自己定義事務(wù),稱為自動(dòng)提交事務(wù)。每條單獨(dú)的語(yǔ)句都是一個(gè)事務(wù)。(2)顯式事務(wù)。顯式事務(wù)是指顯式定義了啟動(dòng)和結(jié)束的事務(wù)。在實(shí)際應(yīng)用中,大多數(shù)的事務(wù)是由用戶來(lái)定義的。事務(wù)結(jié)束分為提交(COMMIT)和回滾(ROLLBACK)兩種狀態(tài)。9.1事務(wù)概述9.1.2事務(wù)的分類(3)隱式事務(wù)。在隱式事務(wù)中,SQLServer在沒(méi)有事務(wù)定義的情況下會(huì)開始一個(gè)事務(wù),但不會(huì)像在自動(dòng)提交模

5、式中那樣自動(dòng)執(zhí)行COMMIT或ROLLBACK語(yǔ)句,事務(wù)必須顯式結(jié)束。Transact-SQL腳本使用SETIMPLICIT_TRANSACTIONSON/OFF語(yǔ)句可以啟動(dòng)/關(guān)閉隱式事務(wù)模式。(4)分布式事務(wù)。一個(gè)比較復(fù)雜的環(huán)境,可能有多臺(tái)服務(wù)器,那么要保證在多服務(wù)器環(huán)境中事務(wù)的完整性和一致性,就必須定義一個(gè)分布式事務(wù)。在分布式事務(wù)中,所有的操作都可以涉及對(duì)多個(gè)服務(wù)器的操作,當(dāng)這些操作都成功時(shí),那么所有這些操作都提交到相應(yīng)服務(wù)器的數(shù)據(jù)庫(kù)中,如果這些操作中有一條操作失敗,那么這個(gè)分布式事務(wù)中的全部操作都被取消。9.1事務(wù)概述9.1.2事務(wù)的分類跨

6、越兩個(gè)或多個(gè)數(shù)據(jù)庫(kù)的單個(gè)數(shù)據(jù)庫(kù)引擎?實(shí)例中的事務(wù)實(shí)際上也是分布式事務(wù)。該實(shí)例對(duì)分布式事務(wù)進(jìn)行內(nèi)部管理;對(duì)于用戶而言,其操作就像本地事務(wù)一樣。對(duì)于應(yīng)用程序而言,分布式提交必須由事務(wù)管理器管理,以盡量避免出現(xiàn)因網(wǎng)絡(luò)故障而導(dǎo)致事務(wù)由某些資源管理器成功提交,另一些資源管理器回滾的情況。通過(guò)準(zhǔn)備階段和提交階段管理提交進(jìn)程可避免這種情況,這稱為兩階段提交。9.2管理事務(wù)事務(wù)的基本操作包括啟動(dòng)、保存、提交或回滾等。9.2.1啟動(dòng)事務(wù)1.顯式事務(wù)的定義顯式事務(wù)需要明確定義事務(wù)的啟動(dòng)。顯式事務(wù)的定義格式如下:BEGIN{TRAN

7、TRANSACTION}[{tra

8、nsaction_name

9、@tran_name_variable}[WITHMARK['description']]]例9.1定義一個(gè)事務(wù),將teaching數(shù)據(jù)庫(kù)的score表中所有選了c05109號(hào)課程的學(xué)生的分?jǐn)?shù)加5分,并提交該事務(wù)。程序代碼如下:USEteachingGODECLARE@TranNameVARCHAR(20);SELECT@TranName='Add_Score';BEGINTRAN@TranName;UPDATEscoreSETfinal=final+5WHEREcourseno='c05109';COMMITTRAN

10、@TranName;GO例9.2定義一個(gè)事務(wù),將teaching數(shù)據(jù)庫(kù)的score表中所有選了c05109號(hào)課程的學(xué)生的分?jǐn)?shù)減5分,并提

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。