0

while there are various articles on MSDTC, I can't seem to find some detailed explaination of MSDTC to figure out how I need to configure it for my particular scenario.

Here is my scenario. I have a few WCF services that are running on box A, a SQL-Server running on box B, and a test solution on box C. In my tests (Box C) I'm pretty much calling a few services (box B), doing some work that eventually writes to a database. When I run these tests using the SQL database on the same box as the tests (Box C), everything works great, and everybody is happy. However, once I just change the test solution to point to the SQL-server database on box-B, I get the exception:

Network access for Distributed Transaction Manager (MSDTC) has been disabled. Please enable DTC for network access in the security configuration for MSDTC using the Component Services Administrative tool.

One of the questions that I have is I don't have MSDTC enabled on the test box (Box C) so why isn't this exception being thrown when I run tests here with the database locally here? And if I need to enable MSDTC, do I need to enable it for all three boxes (A-B-C)?

Thanks!

1 Answer 1

2

MSDTC is enabled by default, but the network access is disabled.

So when you have cross machine talking it fails.

You will need to enable network. See this article.

http://technet.microsoft.com/en-us/library/cc753510%28WS.10%29.aspx

I had this same issue a week or so ago and it fixed it for me.

Sign up to request clarification or add additional context in comments.

3 Comments

I followed the page, and set everything listed for the SQL Box (Box B). I've also allowed DTC through the firewall, but now I get this exception: 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.
I've enabled MSDTC on all, as well as poked holes in the firewall for all. One update that I forgot to mention, the service and sql boxes (A and B) are on the same domain, while the testing box (box C) is on another.
hrmm, not quite sure then sorry.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.