Failover Clustering Dependencies
There are several products that interact with Microsoft® SQL Server™ 2000 failover clustering. To ensure that your failover cluster functions properly, you need to understand the underlying dependencies that failover clustering has on other products.
Microsoft Distributed Transaction Coordinator (MS DTC)
SQL Server 2000 requires Microsoft Distributed Transaction Coordinator (MS DTC) in the cluster for distributed queries and two-phase commit transactions, as well as for some replication functionality. After you install Microsoft Windows® 2000 and configure your cluster, you must run the Cluster Wizard (the comclust.exe program) on all nodes to configure MS DTC to run in clustered mode.
The Cluster Wizard makes the following changes to the MS DTC configuration:
- It creates an MS DTC resource in a resource group containing a shared cluster disk resource and a network name resource.
- It creates an MS DTC log file on the shared cluster disk contained in the MS DTC resource group. Placing the MS DTC log file on the shared cluster disk makes it possible for the MS DTC transaction manager to access the MS DTC log file from any system in the cluster.
- It copies critical MS DTC registry entries to the shared cluster registry.
Running MS DTC in Clustered Mode
When MS DTC is running in clustered mode, only one node in the cluster runs the MS DTC transaction manager at a time.
Any process running on any node in the cluster can use MS DTC. These processes simply call the MS DTC Proxy and the MS DTC Proxy automatically forwards MS DTC calls to the MS DTC transaction manager that is controlling the entire cluster.
If the node running the MS DTC transaction manager fails, the MS DTC transaction manager is automatically restarted on another node in the cluster. The newly restarted MS DTC transaction manager reads the MS DTC log file on the shared cluster disk to determine the outcome of pending and recently completed transactions. Resource managers reconnect to the MS DTC transaction manager and perform recovery to determine the outcome of in-doubt transactions. Applications reconnect to MS DTC so they can initiate new transactions.
For example, suppose the MS DTC transaction manager is active on system B. The application program and resource manager on system A call the MS DTC proxy. The MS DTC proxy on system A forwards all MS DTC calls to the MS DTC transaction manager on system B.
If system B fails, the MS DTC transaction manager on system A will take over. It will read the entire MS DTC log file on the shared cluster disk, perform recovery, and then serve as the transaction manager for the entire cluster.
Note The MS DTC transaction manager, MS DTC Proxy, and Component Services administrative tools are installed on each node of a Windows 2000 cluster using MSCS as part of Windows 2000 Setup.
To manually install MS DTC on a Windows 2000 system running MSCS
- Install Windows 2000 on each node in the cluster.
- Use the Windows 2000 Configure Your Server facility to configure your cluster.
- From a command prompt, run comclust.exe on each node in the cluster. Comclust.exe can be found in the system32 directory.
To automatically install MS DTC on a Windows 2000 cluster system
- Install Windows 2000 on each node in the cluster and configure your cluster using automatic installation scripts.
- From a command prompt, run comclust.exe on each node in the cluster. Comclust.exe can be found in the system32 directory.
To upgrade a non-clustered Windows NT 4.0 SP4 system to a Windows 2000 cluster
- Upgrade each system that will be part of the cluster to Windows 2000.
- Use the Windows 2000 Configure Your Server facility to configure your server.
- From a command prompt, run comclust.exe on each node in the cluster. Comclust.exe can be found in the system32 directory.
To upgrade a clustered Windows NT 4.0 SP4 system to a Windows 2000 cluster
- Install Windows 2000 on each node in the cluster.
MS DTC requires that all nodes in the cluster be upgraded to Windows 2000 at the same time.
- From a command prompt, run comclust.exe on each node in the cluster. Comclust.exe can be found in the system32 directory.
Important Microsoft System Management Server 1.2 is not supported with SQL Server or Microsoft Cluster Service (MSCS).
To recover from a cluster failure and rebuild MS DTC on a Windows 2000 cluster
- When a node is lost, MS DTC will continue to work on the remaining nodes in the cluster. It does not matter whether the node that is lost is the primary or secondary node.
- When you are ready to restore the lost node, join the lost node back to the cluster. After the node has joined the cluster, run Comclust.exe, which can be found in the system32 directory. This will reconfigure MS DTC on the node.