ローカル テーブルで更新を行い、リンク サーバーへのリモート プロシージャ コールから取得した値を別のローカル テーブルに挿入する .net コードから呼び出される sproc があります。
リンク サーバーから結果を挿入しようとするたびに、このエラー メッセージが表示されます。insert into ステートメントを取り出しても、リモート プロシージャ コールはそのままにしておくと、問題なく動作します。エラーは次のとおりです。
System.Data.SqlClient.SqlException: リンク サーバー "MyLinkedServer" の OLE DB プロバイダー "SQLNCLI10" が分散トランザクションを開始できなかったため、操作を実行できませんでした。リンク サーバー "MyLinkedServer" の OLE DB プロバイダー "SQLNCLI10" から、"トランザクション マネージャーがリモート/ネットワーク トランザクションのサポートを無効にしました。" というメッセージが返されました。
これは私が使用している簡単なコードです:
INSERT INTO MyLocalTable
EXEC [MyLinkedServer].[MyRemoteDatabase].[dbo].[usp_MySproc] @MyParam
ここで何が問題なのか、またはリモートプロシージャからローカルテーブルに結果を挿入する方法についての提案はありますか?