SQL Server分布式事務處理 MS DTC

2021-07-02 01:33:29 字數 843 閱讀 1418

在聯機文件中是這樣描述ms dtc的:

microsoft

分布式事務處理協調器(ms dtc)是乙個事務管理器,它允許客戶端應用程式在乙個事務中包含多個不同的資料來源。ms dtc協調在所有已在事務中登記的伺服器間提交分布式事務。

microsoft? sql server?

安裝可通過下列方法參與分布式事務:

1,呼叫執行sql server的遠端伺服器上的儲存過程。

2,自動或顯式地將本地事務提公升為乙個分布式事務並在該事務中登記遠端伺服器。

3,執行分布式更新以更新多個ole db資料來源上的資料。如果這些ole db資料來源支援ole db分布式事務介面,sql server還可以將它們登記在分布式事務中。ms dtc服務協調正確完成分布式事務,以確保所有伺服器上的全部更為永久性的,或在發生錯誤時刪除所有更新。

如果在執行分布式事務時出現如下錯誤,則需要對msdtc進行配置。

鏈結伺服器"***"的ole db 訪問介面"sqlncli11" 返回了訊息 "該事務管理器已經禁止了它對遠端/網路事務的支援。"。

訊息7391,級別16,狀態2,第2 行

無法執行該操作,因為鏈結伺服器"***" 的ole db 訪問介面"sqlncli11" 無法啟動分布式事務。

在windows server 2012中進行如下配置:

元件服務--> a.展開"元件服務"樹,然後展開"我的電腦"。b.右鍵單擊"本地dtc",然後選擇"屬性"。c.在安全選項卡中,確保選中了下列選項:網路dtc訪問、啟用xa事務、允許入站、允許出站、不要求進行驗證。d.另外,"dtc 登入帳戶"一定要設定為"nt authority\networkservice"。e單擊"確定",重新啟動msdtc。

sqlserver分布式事務

啟動服務中的distributed transaction coodinator後 建立鏈結伺服器ender pc subx 設定連線伺服器rpc out 以及rpc屬性為true 實驗一下 建立表 create table dbo yuf id uniqueidentifier not null,...

分布式事務處理

前提如下 db a,db b為兩個資料庫 都有乙個person表 該錶兩個字段 personid 主鍵 和personname 下面的分布式事務 實現的是 同時向這兩個庫的兩個表新增資料 set xact abort on 開始分布式事務 begin distributed transaction ...

分布式事務處理

場景 a資料庫有乙個人叫小明,b資料庫有乙個人叫小花,現在小明要給小花轉賬100,那麼就有兩個操作,小明賬戶 100,小 花賬戶 100,由於是跨資料庫,事務在此時沒用,那該如何保證兩人賬戶資料的準確。方案一 兩次提交,設計理念 在同乙個資料庫中,我們可以使用事務來保證資料的原子性。現在我們有兩個資...