SQL Server Causes Duplicate GUID Errors When You Connect to MS DTC After Failover (304017)



The information in this article applies to:

  • Microsoft COM+ 1.0, when used with:
    • the operating system: Microsoft Windows 2000

This article was previously published under Q304017

SYMPTOMS

When a clustered system is running a workload with many Microsoft Distributed Transaction Coordinator (MS DTC) transactions between multiple SQL Servers in the cluster, if one of the virtual servers moves from one node to another, the Remote Procedure Call (RPC) connection to the server may not always end.

As a result, MS DTC assumes that two SQL Servers with the same globally unique identifier (GUID) are trying to connect to the same MS DTC. This causes SQL Server to fail to connect to MS DTC, and an event with the error message "Failed to Enlist" is logged in the event log. In some cases, the databases cannot recover from failover.

The following error messages are logged in the SQL log:
<date> <time> server Attempting to initialize Distributed Transaction Coordinator.
<date> <time> server Resource Manager Creation Failed: Result Code = 0x8004d102

RESOLUTION

To resolve this problem, obtain Microsoft COM+ Rollup Hotfix 12. For additional information, please see the following article in the Microsoft Knowledge Base:

297536 INFO: Availability of Windows 2000 Post-Service Pack 2 COM+ Hotfix Rollup Package 12

To resolve this problem, obtain the latest service pack for Windows 2000. For additional information, click the following article number to view the article in the Microsoft Knowledge Base:

260910 How to Obtain the Latest Windows 2000 Service Pack


WORKAROUND

To work round this problem, restart the SQL Server service after the RPC has timed out.

STATUS

Microsoft has confirmed that this is a problem in Microsoft Windows 2000. This problem was first corrected in Windows 2000 Service Pack 3.

Modification Type:MajorLast Reviewed:6/5/2003
Keywords:kbbug kbfix kbWin2000PreSP3Fix kbWin2000sp3fix KB304017