データを取得して 1 日に 1 回データベースに格納するアプリケーションがあります。最近まで、このアプリケーションは SQL サーバーと同じマシンに常駐していましたが、必要な周辺機器の一部にハードウェアの問題があるため、Windows XP を実行する別のマシンに移動されました。
ここでの問題は、朝の最初のトランザクションが実行されると、次のスタック トレースを受け取ることです。
System.Transactions.TransactionManagerCommunicationException: 基になるトランザクション マネージャーとの通信に失敗しました。---> System.Runtime.InteropServices.COMException (0x80004005): COM コンポーネントの呼び出しからエラー HRESULT E_FAIL が返されました。
ただし、すぐにトランザクションを再実行すると成功します。MSDTC が最初のトランザクションに応答するのに時間がかかりすぎて失敗しているように見えますが、2 番目のトランザクションの準備ができています。インターネット上でこれが発生していることについての言及をいくつか見つけましたが、実際の解決策は見つかりませんでした。誰かがこれに遭遇しましたか?その場合、MSDTC がメモリからアンロードされないようにする方法はありますか、またはタイムアウトを延長するなどの別の解決策はありますか?