国产探花免费观看_亚洲丰满少妇自慰呻吟_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 時,分布式事務中才允許更新操作。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 会理县| 昭平县| 化隆| 河东区| 凤山县| 南昌县| 荥阳市| 互助| 竹北市| 东阿县| 高雄县| 迭部县| 济阳县| 栖霞市| 嘉定区| 泰兴市| 洞口县| 大冶市| 庐江县| 浙江省| 长顺县| 诏安县| 凭祥市| 唐河县| 临夏县| 屏南县| 河池市| 资中县| 汽车| 民和| 阳谷县| 齐河县| 崇左市| 双牌县| 阳曲县| 右玉县| 福安市| 新安县| 博白县| 大荔县| 鹤庆县|