Database Reference
In-Depth Information
Chapter 31
Designing a High Availability Strategy
A high availability (HA) strategy helps improve the availability of the system due to hardware, software, or network
malfunctions. Even though it sounds similar to a backup and disaster recovery (DR) strategy, it is not the same. A high
availability strategy serves as the first level of defense, making a hardware failure or software crash transparent to the
users. Disaster recovery, on the other hand, deals with situations when a system needs to be recovered after a disaster,
which was not prevented by the high availability strategy in use.
Think about the situation when a system is hosted within a single datacenter. It may have a high availability
strategy that implements server redundancy within the datacenter, which keeps the system online in case of a server
failure. However, it would not necessarily protect the system from a simultaneous malfunction of multiple servers,
nor from datacenter-level disasters. A disaster recovery strategy will help you recover from the latter case, restoring or
rebuilding the system on different hardware or in a different datacenter.
This chapter provides you with an overview of the different high availability technologies in SQL Server and
discusses how you should approach the process of designing a high availability strategy in the system. Thus you
should not view this chapter as a definitive guide on SQL Server high-availability implementations, which easily
merits a book in itself.
This chapter does not cover non-SQL Server-based high availability technologies, such as SAN replication
and virtual machine live migration. You should research and evaluate those technologies if they are applicable to
your environment.
SQL Server Failover Cluster
Perhaps the best-known high availability technology in SQL Server is a S QL Server Failover Cluster . Until SQL Server 2005,
a Failover Cluster was the only high availability technology that supported automatic failover in case of a server failure.
A SQL Server Failover Cluster is installed as the resource group of the Windows Server Failover Clustering
(WSFC) cluster. WSFC should be installed and configured prior to SQL Server Failover Cluster installation.
With WSFC and SQL Server Failover Cluster, the group of individual servers, called nodes, shares a set of resources,
such as disks or databases in a SQL Server Instance. However, only one node at time owns the resource. If a node fails,
ownership is transferred to another node through a process called failover .
The simple installation of a Failover Cluster consists of two different nodes, each of them have a SQL Server
instance installed. The nodes work with a single copy of the users' and system databases placed on a shared storage.
The cluster provides a virtual SQL Server name and IP address, which can be used by client applications. Those
resources are different from those assigned to a Windows Server Failover Clustering cluster. Figure 31-1 illustrates a
simple Failover Cluster.
 
Search WWH ::




Custom Search