سؤال

after we moved our Win2k8 MSSQL2008 server to different IP address, we have troubles running unit tests against database on that SQL server from out build agent. Everything worked before we moved the database server. Now, unit tests which uses multiple database transactions fails with this error message:

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.

We checked the firewall settings, and ability to ping from one server to another, without problem. Probably there must be the old IP address of SQL Server stored somewhere, or what else can cause this problem?

Thank you for help!

هل كانت مفيدة؟

المحلول

The problem was forgotten old IP address in LMHOSTS file on the build server, after fixing it DTC works again. Thank you all for your ideas.

نصائح أخرى

MSDTC is using different ports than SQL Server itself. Make sure you have firewall exceptions for those ports too. Check out: MSDTC and firewall

If that doesn't help try this: http://support.microsoft.com/kb/306843

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top