THunter THunter - 1 year ago 111
SQL Question

MSDTC on server 'MSERVER1-PC\SQLEXPRESS' is unavailable

I have 2 linked SQL servers, Both are SQL Server 2012 Express Edition.
I was executing insert statement into a table of connected SQL Server and it was working perfect until now. I have changed nothing. but now it gives me the following error message.

MSDTC on server 'MSERVER1-PC\SQLEXPRESS' is unavailable.

I have "Distributed Transaction Coordinator" service enabled. have tried restarting it and tried all options but all in vein.
In Component Services under Distributed Transaction Coordinator, In Local DTC, I have enabled Network DTC Access. Allow Inbound and Allow Outbound are checked. Network DTC Access is checked.
Have tried almost everything but all in vein.

Any idea...

Answer Source

To enable MSDTC on the business management server that is running on Windows Server 2008 click Start, Run, type dcomcnfg and then click OK to open Component Services.

In the console tree, click to expand Component Services, click to expand Computers, click to expand My Computer, and click to expand Distributed Transaction Coordinator.

Right click Local DTC, and click Properties to display the Local DTC Properties dialog box.

Switch to the Security tab.

In the Security Settings section, click Network DTC Access.

In the Client and Administration section, select Allow Remote Clients and Allow Remote Administration.

In the Transaction Manager Communication section, select Allow Inbound and Allow Outbound.

In the Transaction Manager Communication section, select Mutual Authentication Required (if all remote machines are running Windows Server 2003 SP1 or Windows XP SP2 or higher), select Incoming Caller Authentication Required (if running MSDTC in a cluster), or select No Authentication Required if some of the remote machines are pre-Windows Server 2003 SP1 or pre-Windows XP SP2. No Authentication Required is the recommended selection. Select Enable XA Transactions, and then click OK.

Repeat steps 1 through 9 on the other Web servers.

Use DTCPing.exe to validate the connection between the Web server and the computer that is running SQL Server or an SQL cluster depending on your configuration. To obtain the DTCPing.exe tool, see For more information about how to troubleshoot