異なるデータベースサーバー(MS SQL Server 2008)に2つのデータベースがあります。
2つのデータベースサーバーのそれぞれに1つずつ、合計2つのテーブルにデータを挿入する必要があります。また、すべてがトランザクション内にある必要があるため、分散トランザクションが必要です。
.NETプログラムからデータを挿入していますが、ここには2つのオプションがあると思います。
.NETでは、TransactionScopeクラスを使用して分散トランザクションを開始します。これはテスト環境の開発マシンで機能しましたが、ネットワークとの通信を許可するようにDTCを設定した後でのみです。ただし、.NETアプリは最終的にクライアントマシンで実行され、それに応じてオペレーティングシステムにDTCが設定されていない可能性があります。そして、彼らは「通常の」ユーザーであり、マシンに管理者はいません。
したがって、私の最初の質問は、DTCが設定されていない場合でも、コンピューター上の.NETでTransactionScopeクラスを使用できますか?.NETプログラムを介してプログラムでこれを回避する方法ですか?
.NETの方法が選択できない場合は、リンクサーバーを介して分散トランザクションを構築するストアドプロシージャを使用することをお勧めしますか?
返信ありがとうございます!