PREEMPTIVE_HADR_LEASE_MECHANISM is recorded when a thread switches to preemptive mode to renew the lease between the failover cluster and the SQL Server resource DLL, following a lease timeout. The lease is the AG’s dead-man switch: SQL Server and the cluster exchange heartbeats, and if the lease expires, the cluster concludes SQL Server is unhealthy and can trigger a failover or drop the AG into RESOLVING.
So unlike its benign HADR siblings, this wait’s presence documents that the lease mechanism has been in distress.
Is It a Problem?
Yes, in the sense that it should not be accumulating on a healthy AG. It travels with lease timeout events, and lease timeouts cause unexpected failovers and RESOLVING states, the kind of incident that pages people at night. Field evidence points at network problems as the leading cause of lease timeouts, with severe CPU starvation (SQL Server unable to run its heartbeat threads) close behind.
Treat any real accumulation as an incident-review input.
Common Causes
- Network problems between the node and the cluster disrupting lease heartbeats.
- Extreme CPU pressure starving the lease worker (100% CPU episodes, non-yielding schedulers).
- VM-level stalls, live migrations, snapshots freezing the guest past the lease timeout.
What To Do
- Correlate its occurrences with cluster log lease timeout entries and AG state changes; the timestamps reconstruct the incident.
- Chase the platform cause: network path health between nodes, CPU saturation at the times in question, hypervisor operations on the same timeline.
- Consider raising
LeaseTimeout(cluster-side AG resource property) only after fixing the cause; masking a sick platform with longer timeouts trades alerts for slower failure detection.
How To See It
Rank it against everything else with Get-WaitStatistics, and treat any presence as a pointer into the cluster log rather than a tuning target.
Part of the SQL Server Wait Types Library.
Related deep dive: HADR_SYNC_COMMIT Wait Type.
Leave a Reply