"MSDTC Is Unavailable" Error When a Stand-Alone Instance of SQL Server Is in a Cluster Environment
This article has been archived. It is offered "as is" and will no longer be updated.
By default, when a stand-alone instance of Microsoft SQL Server exists in a cluster environment, the SQL Server-based instance is set to start automatically. If the host node is rebooted, you may receive the following error message when you issue commands that are related to distributed transactions:
MSDTC on server 'servername' is unavailable.
After the Distributed Transaction Coordinator (DTC) proxy has initialized itself to talk to a specific DTC service, the only way to make any changes is to stop the process. In this situation, the stand-alone SQL Server-based service is started before the cluster SQL Server-based service. When the SQL Server-based service initializes the DTC proxy, the SQL Server-based service starts and then connects to the local DTC service. This is not correct behavior in a cluster environment.
How to Obtain the HotfixThis issue is fixed in the Microsoft Windows 2000 Post-Service Pack 4 (SP4) COM+ 1.0 Hotfix Package 27. For additional information, click the following article number to view the article in the Microsoft Knowledge Base:
822618 INFO: Availability of Windows 2000 Post-Service Pack 4 COM+ Hotfix Rollup Package 27
To work around this problem, set the stand-alone instance of SQL Server on the cluster service to restart manually.
Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section of this article.
Steps to Reproduce the Problem
- Set up one clustered instance of SQL Server on the active node.
- Set up one stand-alone (nonclustered) instance of SQL Server on the secondary node. By default, the nonclustered instance of SQL Server and the SQL Server Agent service are set to automatic.
- In SQL Query Analyzer, connect to the sample PUB database in the stand-alone instance of SQL Server, and then issue the following command in SQL Query Analyzer:
USE pubsGO BEGIN DISTRIBUTED TRANSACTION UPDATE authors SET au_lname = 'McDonald' WHERE au_id = '409-56-7008'
Article ID: 822473 - Last Review: 12/08/2015 03:03:28 - Revision: 2.1
Microsoft Windows 2000 Advanced Server, Microsoft Windows 2000 Professional Edition, Microsoft Windows 2000 Server
- kbnosurvey kbarchive kbbug kbfix kbqfe kbwin2000presp5fix KB822473