SQL Server 2005 Failover Clustering vs. Database Mirroring

Microsoft has an excellent new white paper on SQL Server 2005 Failover Clustering. Failover clustering is a tried and true technology that uses shared storage (usually a SAN) between two or more SQL Server nodes (on different physical servers).  Two weaknesses with this approach are that the SAN becomes a single point of failure, and that failing over from one node to another (for scheduled maintenance, for example), can take one to two minutes on a busy cluster. This makes it much more difficult to achieve "five nines" availability, since just applying monthly Microsoft security patches onto each node and then failing over will quickly eat up your six minutes per year of down time.

An alternative that some companies are starting to use is database mirroring instead of clustering. With database mirroring, you are mirroring at the database level, not the instance level. You have a principal database and a mirror database, each running on a different server, with its own dedicated storage. This eliminates the single point of failure of the shared storage, and also gives you the ability to failover in 10-15 seconds. The downside is that you need twice the storage space, and twice the SQL Server licences (unlike active/passive failover clustering, which does not require licenses for the passive node). It also requires a third server to be the Witness server if you want to run in Synchronous mirroring mode with automatic failover. The witness server can run SQL Server Express Edition and can be a low-end server, which can help on the cost front.

Technorati Tag: SQL Server

This entry was posted in SQL Server 2005. Bookmark the permalink.

2 Responses to SQL Server 2005 Failover Clustering vs. Database Mirroring

  1. Dillon says:

    Hi Glenn,

    I realize that this is an old post, but I wanted to clarify that pure “disaster recovery” mirroring does not require a second license as it is covered by Microsoft’s passive server clauses in their various licensing documents.

    This is stated in the global Microsoft Product Use Rights document, as well as in the Microsoft-published SQL Server 2008 licensing guides/overviews that I’ve seen.

    That said, you do require a license if you use the mirror node for any “real” activity not related to synchronization (even just querying snapshots that are taken against the mirrored DB).

    p.s. great site, and I’ve just ordered your hardware book.

    • Glenn Berry says:

      You are correct about the licensing for a purely passive server. I have never had anyone comment on a nearly five year old post before, but regardless of that, your correction is appropriate! Glad you like the blog, and thanks for ordering the book!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s