none
MSDTC Failure - Enlist operation failed: 0x8004d01c(XACT_E_CONNECTION_DOWN). RRS feed

  • Question

  • Hi,

    We had to recycle MSDTC for some other reason and noticed that all transactions started failing with the below error.

    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.

    All these transactions were going through fine until we recycled the dtc service. We noticed in some forums that the only solution is to restart sql server service.

    Curious to know -

    • What is the sql server registration process with MSDTC and what could cause this to fail?
    • Any other resolution other restarting the services ?
    • Any proactive measures to avoid this failure?


    Trinity

    Tuesday, February 25, 2014 8:00 AM

Answers

  • Hi Trinity,

    The Microsoft Distributed Transaction Coordinator (MS DTC) is a transaction manager that allows client applications to include several different sources of data in one transaction. MS DTC coordinates committing the distributed transaction across all the servers enlisted in the transaction. An installation of Microsoft® SQL Server™ can participate in a distributed transaction by:

    • Calling stored procedures on remote servers running SQL Server.
    • Automatically or explicitly promoting the local transaction to a distributed transaction and enlist remote servers in the transaction.
    • Making distributed updates that update data on multiple OLE DB data sources.
    • If these OLE DB data sources support the OLE DB distributed transaction interface, SQL Server can also enlist them in the distributed transaction.

    It was hard to determine the root cause based on the information you posted above, but you can capture a network monitor trace from the SQL server machine and the client machine while you reproduce the "0x8004d01c(XACT_E_CONNECTION_DOWN)" error. We can get Network Monitor tool from the site below:
    Microsoft Network Monitor 3.4: http://www.microsoft.com/en-hk/download/details.aspx?id=4865

    Furthermore, on Windows 2003, if we installed MSDTC before installing Windows SP2, the MSDTC will not be updated immediately. The MSDTC update will happen when we change some Windows Components in the Add/Remove Windows Component later. You can try to reinstall MSDTC to see if this helps.

    Regards,


    Elvis Long
    TechNet Community Support

    Monday, March 3, 2014 7:14 AM
    Moderator

All replies

  • Hi Trinity,

    The Microsoft Distributed Transaction Coordinator (MS DTC) is a transaction manager that allows client applications to include several different sources of data in one transaction. MS DTC coordinates committing the distributed transaction across all the servers enlisted in the transaction. An installation of Microsoft® SQL Server™ can participate in a distributed transaction by:

    • Calling stored procedures on remote servers running SQL Server.
    • Automatically or explicitly promoting the local transaction to a distributed transaction and enlist remote servers in the transaction.
    • Making distributed updates that update data on multiple OLE DB data sources.
    • If these OLE DB data sources support the OLE DB distributed transaction interface, SQL Server can also enlist them in the distributed transaction.

    It was hard to determine the root cause based on the information you posted above, but you can capture a network monitor trace from the SQL server machine and the client machine while you reproduce the "0x8004d01c(XACT_E_CONNECTION_DOWN)" error. We can get Network Monitor tool from the site below:
    Microsoft Network Monitor 3.4: http://www.microsoft.com/en-hk/download/details.aspx?id=4865

    Furthermore, on Windows 2003, if we installed MSDTC before installing Windows SP2, the MSDTC will not be updated immediately. The MSDTC update will happen when we change some Windows Components in the Add/Remove Windows Component later. You can try to reinstall MSDTC to see if this helps.

    Regards,


    Elvis Long
    TechNet Community Support

    Monday, March 3, 2014 7:14 AM
    Moderator
  • I saw SQL process is in Killed/Rollback status, it is in hung state.

    Restart of SQL instance fixed same issue for me.

    Tuesday, June 25, 2019 7:39 AM