今天遇到一起關於分散式事務錯誤的案例,如下所示,執行SQL腳本時報錯, 錯誤信息具體如下所示: [OLE/DB provider returned message: 新事務不能登記到指定的事務處理器中。 ] OLE DB error trace [OLE/DB Provider 'SQLOLEDB'... ...
今天遇到一起關於分散式事務錯誤的案例,如下所示,執行SQL腳本時報錯, 錯誤信息具體如下所示:
[OLE/DB provider returned message: 新事務不能登記到指定的事務處理器中。 ]
OLE DB error trace [OLE/DB Provider 'SQLOLEDB' ITransactionJoin::JoinTransaction returned 0x8004d00a].
Msg 7391, Level 16, State 1, Procedure UpdatePermissionSystem, Line 18
The operation could not be performed because the OLE DB provider 'SQLOLEDB' was unable to begin a distributed transaction.
檢查了資料庫選項以及DTC配置,最後發現是“事務管理器通信”的選項沒有選擇“不要求進行驗證(No Authentication Required)”,而是勾選了“要求相互進行身份驗證(Mutual Authentication Required)”導致. 選擇了“不要求進行驗證” 後,重啟DTC服務,即可解決這個錯誤。