SQLServer自动ROLLBACK的时机.ppt

  1. 1、本文档共53页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SQLServer自动ROLLBACK的时机.ppt

分散式交易 * 分散式交易 * 分散式交易 如果有使用防火牆, 那麼還要設定允許 MSDTC 程式通過防火牆。 底下以 Windows 內建的防火牆為例: * 分散式交易 * 分散式交易 使用分散式交易 * 分散式交易 * 分散式交易 分散式交易的運作流程 本地 (使用中的) SQL Server 會執行交易中的敘述, 並將對外的查詢或預存程序送至遠端伺服器處理。另外, 也會將相關的遠端伺服器名單送至MSDTC。 當執行到交易中的 COMMIT 或 ROLLBACK 敘述時, 則會將控制權交給 MSDTC 做後續的處理。 * 分散式交易 如果是要 ROLLBACK, 則 MSDTC 會通知相關伺服器進行 ROLLBACK。若是要 COMMIT, 則會進入『2 階段的確認』(Two-phase commit, 2PC): 準備階段: MSDTC 送出準備確認的訊息給所有參與的伺服器, 然後各伺服器依各自的執行狀況傳回成功或失敗訊息給 MSDTC。 確認階段: 只要 MSDTC 收到了任何一個伺服器傳來的失敗訊息, 便會通知所有的伺服器都進行 ROLLBACK, 並將此訊息通知前端應用程式。 * 18-6 交易的隔離等級 Read uncommitted:完全沒有隔離效果, 即使要讀取的資料已被其他交易使用且尚未 COMMIT 也沒關係。 Read committed:不允許讀取尚未 COMMIT 的資料, 因此該資料後來被更動的機率就比較小,而且也不會讀取到交易尚未完成的資料。 Repeatable read:在交易中所讀取到的資料將不允許別人更改或刪除, 以保證在交易中每次都可以讀取到相同的內容。 * 18-6 交易的隔離等級 Snapshot:在交易進行前會先建立資料快照 (Snapshot),而在交易期間所讀取的資料則均來自快照,因此即使實際資料又被別人異動過 (新增/修改/刪除),也不影響該交易中讀取資料的一致性。 Serializable:此等級會將要使用的資料表全部鎖定, 不允許別人來修改、刪除、或新增資料。 * 交易的隔離等級 * 交易的隔離等級 * 交易的隔離等級 * 交易的隔離等級 * 交易的隔離等級 * 18-7 資料鎖定 樂觀與悲觀的並行控制 資料鎖定的種類 各類鎖定的共存性 * 樂觀與悲觀的並行控制 樂觀的並行控制 (Optimistic Concurrency) 悲觀的並行控制 (Pessimistic Concurrency) 當READ_COMMITTED_SNAPSHOT 為OFF 時, Read committed 會使用共用式鎖定(後詳) 的方式, 來確保不會讀到交易未完成的資料 若READ_COMMITTED_SNAPSHOT 設為ON, 此時Read committed 會改用類似快照的方式保存資料, 而不會鎖定資料, 因此算是樂觀的並行控制 * 資料鎖定的種類 鎖定的對象 * 資料鎖定的種類 * 鎖定的方法 獨佔式鎖定 (Exclusive Lock) 共用式鎖定 (Shared Lock) 更新式鎖定 (Update Lock) 資料鎖定的種類 意圖式鎖定 * 各類鎖定的共存性 * 18-8 鎖定的死結問題 * 鎖定的死結問題 * 避免死結發生的技巧 使用相同的順序來存取資料 儘量縮短交易的時間 儘量使用較低的隔離等級 本投影片(下稱教用資源)僅授權給採用教用資源相關之旗標書籍為教科書之授課老師(下稱老師)專用,老師為教學使用之目的,得摘錄、編輯、重製教用資源(但使用量不得超過各該教用資源內容之80%)以製作為輔助教學之教學投影片,並於授課時搭配旗標書籍公開播放,但不得為網際網路公開傳輸之遠距教學、網路教學等之使用;除此之外,老師不得再授權予任何第三人使用,並不得將依此授權所製作之教學投影片之相關著作物移作他用。 著作權所有 ? 旗標出版股份有限公司 交易與鎖定 第 18 章 * 本章重點 18-1 交易簡介 18-2 進行交易的 3 種模式 18-3 巢狀交易與 @@TRANCOUNT 18-4 交易儲存點的設定與回復 18-5 分散式交易 18-6 交易的隔離等級 18-7 資料鎖定 18-8 鎖定的死結問題 18-1 交易簡介 * 交易簡介 * 交易簡介 * 交易簡介 交易通常是由 BEGIN TRAN 敘述開始, 一直執行到 COMMIT TRAN 或 ROLLBACK TRAN 敘述時才結束 (指令中的 TRAN 也可改寫為TRANSACTION, 意義相同)。 當執行完交易中的最後一項資料庫操作後, 若沒有任何錯誤, 我們可用 COMMIT TRAN 表示確認交易。 * 交易簡介 每執行完一項資料庫的操作後, 要立即檢查@@ERR

文档评论(0)

wendang_12 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档