国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

分布式查詢和分布式事務

2024-07-21 02:10:54
字體:
來源:轉載
供稿:網友
microsoft® sql server™ 允許創建與稱為鏈接服務器的 ole db 數據源的鏈接。在鏈接到 ole db 數據源之后,可以:

從 ole db 數據源引用行集,作為 transact-sql 語句中的表。


將命令傳遞給 ole db 數據源,并包含結果行集,作為 transact-sql 語句中的表。 每個分布式查詢都可以引用多個鏈接的服務器,而且可以對每個鏈接的服務器分別執行更新或讀取操作。單個分布式查詢可以對某些鏈接的服務器執行讀取操作,并且對其它鏈接的服務器執行更新操作。通常情況下,每當某個事務可能更新多個鏈接服務器中的數據時,microsoft sql server 都要求相應的 ole db 提供程序支持分布式事務。因此,鏈接服務器上所支持的查詢類型取決于 ole db 提供程序中對事務的支持級別。ole db 為事務管理定義了兩個可選的接口:

itransactionlocal 支持 ole db 數據源中的本地事務。


itransactionjoin 允許提供程序聯結包含其它資源管理器的分布式事務。
所有支持 itransactionjoin 的提供程序也都支持 itransactionlocal。

如果在連接是自動提交模式時執行分布式查詢,則應用以下規則:

對于不支持 itransactionlocal 的提供程序,只允許執行讀取操作。


對于支持 itransactionlocal 的提供程序,允許執行所有更新操作。
主控 sql server 會自動調用每個參與更新操作的鏈接的服務器中的 itransactionlocal,以啟動本地事務,并在語句執行成功時提交或在語句執行失敗時回滾。

如果分布式查詢是針對分布式分區視圖或者是在連接為顯式或隱性事務時執行,則應用下列規則:

對于不支持 itransactionjoin 的提供程序,只允許執行讀取操作。不支持任何事務或只支持 itransactionlocal 的提供程序不能參與更新操作。


如果 set xact_abort 設置為 on,則對于支持 itransactionjoin 的任意提供程序都允許執行所有的更新操作。主控 sql server 會自動調用每個參與更新操作的鏈接服務器中的 itransactionjoin,以便在分布式事務中登記該服務器。然后當主控服務器表示要提交或回滾事務時,ms dtc 將提交或者回滾。


如果 set xact_abort 設置為 off,則鏈接服務器還必須支持嵌套事務,才能對其執行更新操作。當會話已經有一個現有事務時,如果提供程序支持調用 itransactionlocal::starttransaction,則支持嵌套事務。這使 sql server 得以回滾分布式查詢中的單個語句,而不是回滾整個事務。
上述規則意味著提供程序的下列限制不支持嵌套事務:僅在 xact_abort 選項設置為 on 時,分布式事務中才允許更新操作。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 隆安县| 凤庆县| 横山县| 绍兴市| 迁安市| 五河县| 泾阳县| 仪陇县| 澄迈县| 镇康县| 莫力| 满城县| 新郑市| 疏勒县| 临城县| 安徽省| 裕民县| 泌阳县| 西乌珠穆沁旗| 孟村| 黑山县| 德庆县| 鄂托克旗| 卓尼县| 大港区| 苏尼特左旗| 长葛市| 雅安市| 揭西县| 沙田区| 庄浪县| 吴桥县| 博湖县| 淮阳县| 缙云县| 老河口市| 勐海县| 津南区| 泾阳县| 祁连县| 临高县|