Microsoft KB Archive/835185

From BetaArchive Wiki
Knowledge Base


Failover cluster resource dependencies in SQL Server

Article ID: 835185

Article Last Modified on 5/7/2007



APPLIES TO

  • Microsoft SQL Server 7.0 Enterprise Edition
  • Microsoft SQL Server 2000 Enterprise Edition
  • Microsoft SQL Server 2000 64-bit Edition
  • Microsoft SQL Server 2000 Developer Edition
  • Microsoft SQL Server 2000 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Standard Edition



SUMMARY

When you install Microsoft SQL Server on a cluster, a specific set of resources that have dependencies on other resources is created. Do not modify this default dependency tree, except for the changes that are listed in this article.

SQL Server and SQL Server Agent should not depend on any resources, other than the resources that are listed in this article. Microsoft recommends that you do not make other resources dependent on SQL Server or on SQL Server Agent. If you must have a dependency, follow the guidelines that are provided in this article.

MORE INFORMATION

The following is an example of a default dependency tree for SQL Server 7.0:

< SQL_Server_Name> SQL Server Agent 7.0 { SQL Server Agent 7.0 } 
    +(1)-----Depends On-> < SQL_Server_Name> SQL Server 7.0 { SQL Server 7.0 } 
        +(2)-----Depends On-> Disk Z: { Physical Disk } 
        +(2)-----Depends On-> < SQL_Server_Name> VServer { Generic Service } 
            +(3)-----Depends On-> < SQL_Server_Name> Network Name { Network Name } 
                +(4)-----Depends On-> < SQL_Server_Name> IP Address { IP Address } 

The default dependency tree for SQL Server 7.0 has the following implications:

  • The SQL Server Agent resource depends on the SQL Server resource.
  • The SQL Server 2005 resource depends on the SQL network name resource and the physical disk resources that hold its data. When mount points are being used together with the physical disks, each mount point must appear as a cluster resource. Additionally, each mount point must also be added as a SQL Server dependency. If only the root physical disks dependency is added and the mount points are not added, database corruption will occur on failover. Database corruption may also occur when SQL Server is restarted without failing over.
  • The SQL VServer resource depends on the SQL network name resource.
  • The SQL network name resource depends on the SQL IP address resource.
  • The SQL IP address resource and the physical disk resources do not depend on any resources.

The following is an example of a default dependency tree for SQL Server 2000:

SQL Server Agent { SQL Server Agent }
SQL Server Fulltext { Microsoft Search Service Instance }
    +(1)-----Depends On-> SQL Server  { Instance Name for named instances }
              +(2)-----Depends On-> SQL network name (Virtual Server Name)  { Network Name }
                      +(3)-----Depends On-> SQL IP address1 (Virtual Server Name)  { IP address }
              +(2)-----Depends On-> Disk Z:  { Physical Disk }

The default dependency tree for SQL Server 2000 has the following implications:

  • The SQL Server Agent resource depends on the SQL Server resource, and the SQL Server Fulltext resource depends on the SQL Server resource.
  • The SQL Server resource depends on the SQL network name resource and the physical disk resources that hold its data.
  • The SQL network name resource depends on the SQL IP address resource.
  • The SQL IP address resource and the physical disk resources do not depend on any resources.

If you modify the default dependency tree, only make the following changes:

  • You can add physical disk resources to the SQL Server resource so that SQL Server can use additional drives.
  • When you add OLAP (Analysis Services) installations, see the following article in the Microsoft Knowledge Base:

    308023 How to cluster SQL Server 2000 Analysis Services in Windows 2000 and Windows Server 2003

Important If you add any other resources to the SQL Server group, those resources must always have their own unique SQL network name resources and their own SQL IP address resources. Do not use the existing SQL network name resources and SQL IP address resources for anything other than SQL Server. If SQL Server resources are shared with other resources, the following problems may occur:

  • Outages that are not expected may occur.
  • Service pack installations may not be successful.
  • The SQL Server Setup program may not be successful. If this problem occurs, you cannot install additional instances of SQL Server or perform routine maintenance.

Consider these additional issues:

  • FTP with SQL Server replication: For instances of SQL Server that use FTP with SQL Server replication, your FTP service must use one of the same physical disks as the installation of SQL Server that is set up to use the FTP service.
  • SQL Server resource dependencies: If you add a resource to a SQL Server group and you have a dependency on the SQL Server resource to make sure that SQL Server is available, Microsoft recommends that you add a dependency on the SQL Server Agent resource, instead of adding a dependency on the SQL Server resource. To make sure that the computer that is running SQL Server remains highly available, configure the SQL Server Agent resource so that it does not affect the SQL Server group if the SQL Server Agent resource fails.
  • File shares and printer resources: When you install File Share resources or Printer cluster resources, they should not be put on the same physical disk resources as the computer that is running SQL Server. If they are put on the same physical disk resources, you may experience performance degradation and loss of service to the computer that is running SQL Server.
  • MS DTC considerations: If you install Microsoft Distributed Transaction Coordinator (MS DTC) in your SQL Server group and you have other resources that are dependent on MS DTC, MS DTC will not be available if this group is offline or during a failover. By default, SQL Server 7.0 requires that the MS DTC resource be put in a SQL Server group when you are running the SQL Server Failover Wizard on new installations. If MS DTC has already been clustered, SQL Server 7.0 uses the existing location and resources but SQL Server 2000 does not. Microsoft recommends that you put MS DTC in its own group with its own physical disk resource, if it is possible.



For SQL Server 2005, see the "How to: Add Dependencies to a SQL Server 2005 Resource" topic in SQL Server 2005 Books Online.

Keywords: kbtshoot kbguidelines kbappnote kbclustering kbpag kbsql2005cluster KB835185