Environment
Situation
SQL Server could not register with Microsoft Distributed Transaction Coordinator (MS DTC) as a resource manager for this transaction. The transaction may have been stopped by the client or the resource manager.
Enlist operation failed: 0x8004d01c(XACT_E_CONNECTION_DOWN).
Full error:
[EXCEPTION] [Assembly=NQSyncQDB; Method=NetIQ.Utils.TraceEx.WriteSQLException ThreadID=67]
Message=Enlist operation failed: 0x8004d01c(XACT_E_CONNECTION_DOWN). SQL Server could not register with Microsoft Distributed Transaction Coordinator (MS DTC) as a resource manager for this transaction. The transaction may have been stopped by the client or the resource manager.
A severe error occurred on the current command. The results, if any, should be discarded.
Source=.Net SqlClient Data Provider
StackTrace= at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
at System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async)
at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe)
at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
at NetIQ.CQS.NQSyncQDB.SyncThread.Start()
Resolution
Stop MSDTC on the Control Center Machine
Stop SQL Server on the Control Center Machine
Start MSDTC
Start SQL
Once this is done inspect the syncqdb logs in /program files/netiq/temp/netiq_debug/CC_CQSTrace to see if the distributed transaction coordinator is working right.
If the problem is still occuring run the following query within SQL Server Management Studio.
begin distributed tran
select * from [remoteservername].master.sys.sysprocesses
commit tran
This will do a select against one of the remote QDB's using DTC. Replace remoteservername with the netbios name of one of the QDB machines listed in linked servers.
If this fails check the following.
Netbios name resolution to the QDB
Check if SP2 was recently installed on Windows 2003 if the QDB resides on windows 2003.
This updated will change MSDTC. If it has been the following article will outline the change. http://technet.microsoft.com/en-us/library/cc753620(WS.10).aspx