Clustering the Data-Tier Server
You can help ensure uninterrupted service from Team Foundation Server by installing the Team Foundation databases in a server cluster. A server cluster is a set of dedicated, matching computers that are configured to appear as a single server. By using a cluster, you can automatically start data-tier services on a second computer when you take the active computer offline for maintenance or if a failure occurs. Unlike the data tier, the application tier cannot reside in a cluster.
Typically, this availability strategy for Team Foundation databases is cost effective for very large organizations with the resources to set up and maintain a complex topology.
You can use the following information to understand the specific configuration that Team Foundation Server supports.
If you chose to invest resources in a server cluster, Team Foundation Server supports a configuration of an active node and a passive node that use a single quorum device server. The quorum is the storage device controlled by the primary node for the data tier and tracks which node is acting as the primary node. Only one node at a time may own the quorum.
When the data tier fails over to the passive node, the passive node takes ownership of the quorum and the data tier. When the two nodes are attached to a single storage device, the quorum may be created on the storage device.
You manage a cluster through the Cluster Administrator snap-in that is installed with Windows Server. During installation, SQL Server provides resources to both nodes of the cluster.
The setup for SQL Server recognizes clusters and manages the installation to the active and passive nodes for you.
Before you install Team Foundation Server in a cluster, you must prepare the cluster for installation. For example, you must change settings for the SQL Server services to run automatically. For more information, see the topic "Configuring Servers for Team Foundation Cluster Installation" in the installation guide for Team Foundation, you can download from the Microsoft Web site.
Although the data-tier server automatically starts operations on the other computer in the cluster during failover, SQL Server requires some time to detect that the connections to the application tier must be restarted. As a result, failover will not be instantaneous for Team Foundation databases. For more information about clusters and SQL Server operations, see SQL Server 2005 Books Online and SQL Server 2008 Books Online on the Microsoft Web site, and search for the topics "Configuring High Availability" or "High Availability Solutions Overview."
You can add a resource to the cluster that explicitly restarts the application services to establish connections between the data tier and application tier more efficiently.
The resource points to a script file that updates Domain Name System (DNS) addresses and explicitly establishes connections between the tiers. A generic script resource is a .wsh file that uses the Clustering API services that are exposed in the Windows Management Instrumentation (WMI) interface. For more information about the Cluster API and cluster resource files, see "Server Cluster API Reference" on the Microsoft Web site.
For more information and an example of how to explicitly restart the connections on failover, download the installation guide for Team Foundation from the Microsoft Web site, and see the topic "How to: Prepare a Server for Accelerated Recovery in a Cluster."
By default, the user account used when the cluster was created becomes the Cluster Service Account.
You should not change the passwords for any one of the SQL Server service accounts when a failover cluster node is down or offline. If you have changed the password in this situation, you must reset the password using Enterprise Manager when all nodes are back online.
If you want to change the account that starts the Cluster service, you must use Computer Management for Windows Server 2003 to change the account on each node in the cluster.
To function correctly, the Cluster service account explicitly requires the following permissions for both nodes in the cluster.
Act as part of the operating system
Adjust memory quotas for a process
Back up files and directories
Increase scheduling priorities
Log on as a service
Restore files and directories
Also, make sure that the Local Administrator group has access to the following user permissions.
Impersonate a client after authentication
Manage auditing and security log
For more information about how to create a cluster, see the following topics on the Microsoft Web site: "How to: Create a New SQL Server 2005 Failover Cluster (Setup)" for SQL Server 2005 and "How to: Create a New SQL Server Failover Cluster (Setup)" for SQL Server 2008.
For more information about required service accounts, download the installation guide for Team Foundation from the Microsoft Web site, and see the topic "Configuring Servers for Team Foundation Cluster Installation."