SQL Server 2000 Failover Clusters

SQL Server Architecture

SQL Server Architecture

SQL Server 2000 Failover Clusters

You can install up to 16 instances of Microsoft® SQL Server™ 2000 in a Microsoft Clustering Service (MSCS) failover cluster.

You install an instance of SQL Server 2000 by running SQL Server Setup on one of the nodes of the cluster. The Setup program installs the instance on the nodes of the failover cluster that you specify during setup. The SQL Server 2000 executable files are installed on the local disk drives of each node in the failover cluster. This means that each node must have a local hard drive that is assigned the same drive letter as on all the other nodes, and that drive letter must be in the path of the location you specify for the SQL Server executable files during setup. For example, if you specify C:\Program Files\Microsoft SQL Server as the location in which to install the SQL Server executables, each node in the cluster must have drive letter C mapped to a local drive. The registry information for the instance is also stored in the registry of each node in the failover cluster.

An MSCS cluster group is a collection of clustered resources, such as clustered disk drives, which are owned by one of the failover cluster nodes. The ownership of the group can be transferred from one node to another, but each group can only be owned by one node at a time. The database files for an instance of SQL Server 2000 are placed in a single MSCS cluster group owned by the node on which you install the instance. If a node running an instance of SQL Server fails, MSCS switches the cluster group containing the data files for that instance to another node. Since the new node already has the executable files and registry information for that instance of SQL Server on its local disk drive, it can start up the instance of SQL Server and start accepting connection requests for that instance.

Because the executable files and registry information for each instance of SQL Server 2000 is stored in each node, the SQL Server 2000 limit of 16 instances per computer also applies to each failover cluster. Each instance in the failover cluster must either have a unique instance name or be a default instance. There can only be one default instance per failover cluster.

The MSCS cluster group that holds the database files for an instance is associated with a SQL Server virtual server name during SQL Server setup. There can only be one instance per virtual server, which also means that there can only be one instance associated with any cluster group.

When an application attempts to connect to an instance of SQL Server 2000 running on a failover cluster, the application must specify both the virtual server name and the instance name. The application does not have to specify an instance name only if the instance associated with the virtual server is a default instance that does not have a name.

For example:

  • A Windows cluster administrator creates a failover cluster with two nodes: NodeA and NodeB. Each node maps the drive letter C to a local hard drive.

  • There is one shared disk in the cluster. The cluster administrator creates ClusterGroupA to hold the drive, and assigns it to NodeA.

  • The SQL Server system administrator runs the Setup program to install a default instance of SQL Server on NodeA. During setup, the administrator specifies a SQL Server virtual server name of VirtualServerX, and specifies that the database files be placed on the drive in ClusterGroupA. Setup installs the SQL Server executable files on the local drives of both NodeA and NodeB, and places the database files in ClusterGroupA.

  • Applications attempting to connect to the default instance only need to specify the virtual server name VirtualServerA. The default instance normally runs on NodeA. Should NodeA fail, however, the MSCS clustering will transfer ownership of ClusterGroupA to NodeB and will restart the default instance on NodeB. Applications will still connect to the default instance by specifying the virtual server name VirtualServerX.

See Also

Failover Clustering

Installing a Virtual Server Configuration