Editorials

Traditional Failover Strategies

Windows clustering was introduced in the late 1990s. SQL Server was added to the clustered applications supported I a Windows cluster. SQL Server 2000 made SQL Clustering really popular as a failover strategy.

With clustering you have a shared disk subsystem such as a SAN. Other methods can be used, but a SAN is the most common shared method. Only one server I the cluster may provide services on a database at one time. If one server fails for any reason another server in the cluster takes over the database service. Clustering does not require any action on the part of client applications because the Cluster shares a virtual address which is managed by the node serving the database on the cluster.

SQL Server 2000 also supported replication. Replication is defined at the table level. As a result, using Replication as a failover method requires a lot of setup, testing and maintenance. If the primary database fails you can point clients to the replicated version. The re-direction of the client is a manual process, and your down time will be more than with a cluster.

The final method available is log shipping. This can be done with tools provided in SQL Server, or you can write your own. Log shipping is performed by taking a full backup from the database and restoring it on another server. Once restored, additional transaction log backups are performed and restored on the remote server, without completing the restoration so that additional logs may be restored.

When a failure occurs, a final transaction log is created, if possible, and then applied to the failover server. Once complete, the restoration is finalized, and the database is brought online. Client connections must be re-directed to the failover server and the database is not available again.

All of these methods require at least two servers. Clustering shares disk and can failover with limited interruption. Replication and log shipping have independent disk and require manual steps to failover, and have a longer duration of interruption.

Tomorrow we’ll take a high level look at failover methods introduced in SQL Serer 2005.

Cheers,

Ben