A random collection of epiphanies, thoughts and problem solutions pertaining to .NET and BizTalk.

Monday, March 07, 2005

A Microsoft Distributed Transaction Coordinator problem prevented connection to the Configuration database again

When you work with a Microsoft BizTalk Server 2004 project on a Microsoft Windows Server 2003-based computer, and you deploy the assemblies to BizTalk Server 2004, you may receive the following error message from Microsoft Visual Studio .NET:


[DeploymentException] Cannot open database BizTalkMgmtDb on server [server].
[DeploymentException] Cannot open database BizTalkMgmtDb on server [server].
A Microsoft Distributed Transaction Coordinator problem prevented connection to the Configuration database.
The transaction has already been implicitly or explicitly committed or aborted


You will also receive a similar error if you run the BizTalk Deployment Wizard. KB839187 provided a solution which is pertinent but not sufficient in some scenarios. Recently, I had a new development set up that took me back to this problem and it cost me approximately 2.5 hours of productivity to figure out exactly why.




I have a mutile server BizTalk setup. BizTalk Databases and the default BizTalk host are on a dedicated Windows 2003 server box. I do my development work on laptop with Windows XP (SP2). When I try to deploy a BizTalk assembly, I ran into the problem described above. I immediately tried the workaround suggested by KB839187 which didn't work. After some research, I belive the following steps are a better overall approach to this problem.




  1. Make sure your development machine and BizTalk server (server runs BizTalk databases) can ping each other

  2. Make sure MS DTC service is up and running on both computers

  3. Modify the following registry key on both computers: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\TurnOffRpcSecurity = 1

  4. Enable the "Network Clients" for MS DTC for both computers. To do this:

    • Click through: Start | Settings | Control Panel | Administrative Tools | Component Services

    • Expand "Computers" under "Component Services" node

    • Right click on "My Computer" and click on "MSDTC" tab on "My Computer Properties" dialog

    • Click on "Security Configuration" button

    • For Windows Server 2003, check "Network Clients" checkbox as indicated in the following picture.


      For Windows XP (SP2), configure the "Security Settings" as indicated by the following picture.



  5. Restart the MS DTC services on both computers if they have not been automatically restarted.

1 comment:

Anonymous said...

Hi Jonathan!

I was around this error a lot of hours too.
I had to add the service "c:\WINDOWS\system32\msdtc.exe" to the exception list of my windows firewall to get it work.

Regards, Gastón Marrero

Followers