This recently came up as a discussion on the www.sqlteam.com forums. I posted the options below and Kristen suggested I post it in my blog, so here it is. :) This is by no means meant to be comprehensive. I would be interested in the feedback people have. Is there interest in actually having an article describe in detail several options? Does anyone have any options to add, or other options they have implemented?
1. Active/passive cluster
--This provides you with server redundancy, not "drive" redundancy. If one server fails though the other picks up.
--The applications need to be cluster aware.
--Cheapest to set up. You don't have to pay for SQL licensing on passive server unless you are doing something else on it.
2. Log Shipping.
--You have to pay for SQL Server licensing on both servers.
--It's not "immediate" failover. You would have a few minutes of downtime in a dr situation.
3. Replication.
--You have to pay for SQL Server licensing on both servers.
--It's not "immediate" failover. You would have a few minutes of downtime in a dr situation.
--Generally faster failover than log shipping.
--Harder to maintain.
4. Active/Active Cluster with replication.
--Expensive and more maintenance than any of the above.
--Provides server reduncdancy mixed with drive redundancy.
--Very complex.
5. Cold Site Redundancy.
--Use log shipping to ship to remote site.
--Slower recovery than above.
--Covers facility loss.
6. Hot Site Redundancy.
--Most expensive solution.
--Many times requires rewriting application or hosting different apps in different location.
--Involves expensive hardware and software solutions from providers that specialize in this.
--Need enough bandwidth to pull it off.
--Most redundant of all solutions if implemented correctly.