1

Win2k8 MSSQL2008 サーバーを別の IP アドレスに移動した後、ビルド エージェントからその SQL サーバー上のデータベースに対して単体テストを実行する際に問題が発生しました。データベース サーバーを移動する前に、すべてが機能していました。現在、複数のデータベース トランザクションを使用する単体テストは、次のエラー メッセージで失敗します。

System.Data.EntityException: The underlying provider failed on Open. 
--->   System.Transactions.TransactionManagerCommunicationException: 
Communication with the underlying transaction manager has failed. 
---> System.Runtime.InteropServices.COMException: The MSDTC transaction manager 
was unable to pull the transaction from the source transaction manager due to
communication problems. 
Possible causes are: a firewall is present and it doesn't have an exception for the
MSDTC process, the two machines cannot find each other by their NetBIOS names, or the 
support for network transactions is not enabled for one of the two transaction
managers.

ファイアウォールの設定と、あるサーバーから別のサーバーへの ping 機能を問題なく確認しました。おそらく、SQL Server の古い IP アドレスがどこかに保存されているに違いありません。それとも、他に何がこの問題を引き起こしているのでしょうか?

ご協力ありがとう御座います!

4

2 に答える 2

1

この問題は、ビルド サーバーの LMHOSTS ファイルで古い IP アドレスを忘れていたため、修正後、DTC が再び機能するようになりました。皆さんのアイデアに感謝します。

于 2012-10-16T13:52:11.383 に答える
0

MSDTC は、SQL Server 自体とは異なるポートを使用しています。これらのポートにもファイアウォールの例外があることを確認してください。チェックアウト: MSDTC とファイアウォール

それでも問題が解決しない場合は、http ://support.microsoft.com/kb/306843 を試してください。

于 2012-10-12T14:48:54.910 に答える