サーバーAにinstead of trigger
を作成しました。このサーバーでは、プロシージャーが呼び出され、リンクされたサーバー(サーバーB)の別のプロシージャーが呼び出されます。トリガーからリンクされたサーバーを呼び出す
トリガ(A) - >手順(A) - >手順(B)
しかし、トリガーが実行されるとき、それは次のようなエラースロー:手順(A):私はこれを行うと
OLE DB provider "SQLNCLI11" for linked server "xxx" returned message "The partner transaction manager has disabled its support for remote/network transactions.". Msg 7391, Level 16, State 2, Line 1 The operation could not be performed because OLE DB provider "SQLNCLI11" for linked server "xxx" was unable to begin a distributed transaction.
を - >手順(B)それは完全に動作します。理由は何でしょうか?
どうすればこの問題を解決できますか?分散クエリはリンクサーバークエリと異なるのですか?あなたがトリガー内でリンクサーバーを使用する場合は、DTCを使用する必要が
ローカルのService Brokerを使用しますが、両方のマシン上でMSDTCを構成してしまったことがありますか? –
@ M.Ali、それが設定されていない場合は、プロシージャ(サーバA)→プロシージャ(サーバB)を呼び出すことになりますか?それ以来、 – Sher