High Availability

High availability in SQL Server: Always On options

The answer to "what happens if the server dies?" can be seconds or hours depending on your HA topology. The choice starts with RPO/RTO, not technology.

First, two numbers: RPO and RTO

RPO (Recovery Point Objective): acceptable data loss. Something like "at most 5 seconds of transactions may be lost".

RTO (Recovery Time Objective): acceptable downtime. Something like "the service must be back within 60 seconds".

Without these two values, an HA discussion is incomplete; every solution's cost and complexity should be weighed against these targets.

Failover Cluster Instance (FCI)

Instance-level failover on shared storage. All databases move together; clients connect to the same virtual network name.

  • Pro: transparent to the application; instance-level objects (logins, jobs, linked servers) in one place.
  • Con: shared storage can be a single point of failure; a few tens of seconds of downtime on failover; no read scaling.
  • Good for: moderate RTO, low RPO; the need for "the whole instance moves as one piece".

Always On Availability Groups (AG)

Replication at the database-group level. Each replica has its own storage; synchronous or asynchronous copying can be chosen.

  • Synchronous + automatic failover: low RPO (near zero) and low RTO; usually 2–3 synchronous replicas and a quorum witness.
  • Asynchronous replica: disaster recovery to a remote region; network latency does not affect primary performance, but RPO > 0.
  • Readable secondary: offloads reporting and backup load from the primary.
  • Listener: the application connects to a single name; routing is automatic.
  • Con: instance-level objects must be kept in sync manually on each replica; licensing and operational complexity are higher.

Log shipping and backup-based DR

The transaction-log backup is moved to a second server and applied at intervals. It is simple, cheap and durable; however, RPO is the backup interval and failover is manual. In modern setups it usually sits as an extra safety layer on top of an asynchronous AG replica.

Comparison summary

SolutionTypical RPOTypical RTORead scaling
FCI≈ 015–60 sNo
AG (synchronous, auto failover)≈ 05–30 sYes
AG (asynchronous)seconds–minutesmanual: minutesYes
Log shippingbackup intervalmanual: minutes–hoursLimited

Values vary by environment and configuration; measuring on your own hardware with a drill is essential.

HA isn't HA until it's drilled

The most common mistake we see: the setup is done, not documented, and never tested. Recommendations:

  • Run planned and unplanned failover scenarios at least quarterly; record the real RTO.
  • On the application side, use connection retry, short timeouts and idempotent writes.
  • Review listener/DNS TTL, quorum configuration and witness placement.
  • Keep the runbook current: who runs which command, in what order?

In short: write down RPO/RTO first. If you want near-zero RPO plus fast automatic failover, use a synchronous AG; for remote-region DR, an asynchronous AG; for "one instance as one piece", FCI; for extra safety on a tight budget, log shipping. Whichever you choose, regular drills are a must.

We can design your HA/DR architecture together and prove it with drills — see our Managed Database service.

A clear answer to "what if the server dies"

We'll set an RPO/RTO target and recommend a suitable topology for your current setup.

Book a call