2008-09-16 3 views
3

私は、のリンクサーバーテーブルに行を挿入するために、ストアドプロシージャ内にSQL Insertクエリを持っています。Insertクエリが分散トランザクションに登録されないようにするにはどうすればよいですか?

親トランザクション内でストアドプロシージャが呼び出されるため、このInsertステートメントはリンクサーバーに行を挿入するためにDTCを使用しようとします。

DTCが関与しないようにします。

SQL文を挿入してトランザクションスコープを無視する方法はありますか(ヒントのように)できますか?

答えて

4

私はあなたがステージングテーブルに挿入したいものを保存し、プロシージャがクロスサーバー挿入を実行し終わったら保存することをお勧めします。私が知っている限り、あなたがSProcの実行中であるトランザクションを無視する方法はありません。

逆に、.NET 2.0のSystem.Transaction名前空間を使用すると、特定のステートメントに親スコープトランザクションに参加しないように指示できます。これには、ストアドプロシージャではなくコードでロジックの一部を記述する必要がありますが、動作するはずです。

ここにはrelevant linkです。

幸運、 アラン。

+0

ありがとうございました。私の唯一のオプションは、コードを書き直すことなく、サーバーのDTCを有効にするように見えます。 –

関連する問題