Wait Type HADR_AG_MUTEX

The wait type HADR_AG_MUTEX is ranked #190 by Stedman Solutions and Database Health Monitor.

Wait statistics, in the context of SQL Server, refer to the amount of time that a query spends waiting to access data in the database. When a client application requests data from the database, the request is placed in a queue and the client application must wait for its turn to access the data. The time that the query spends waiting is called a "wait" and is tracked by SQL Server. This information can be used to identify potential performance bottlenecks and optimize the performance of the database. Wait statistics are commonly used by database administrators to diagnose and troubleshoot performance issues in SQL Server.


The HADR_AG_MUTEX wait type in SQL Server is a type of wait that occurs when a task is waiting for access to the availability group (AG) mutex. An availability group is a group of SQL Server instances that are configured to provide high availability and disaster recovery for a database.

The AG mutex is a synchronization object that is used to coordinate access to the availability group by different tasks and threads. When a task needs to access the availability group, it must acquire the AG mutex before it can proceed. The HADR_AG_MUTEX wait type indicates that a task is waiting for the AG mutex to be released before it can access the availability group.

This wait type can occur when there is high concurrent activity on the availability group, and tasks are having to wait for access to the AG mutex. This can lead to performance degradation and should be monitored and addressed by a database administrator.

To reduce the occurrence of this wait type, the administrator can optimize the availability group configuration and workload. For example, the administrator can increase the number of AG mutexes or adjust the workload distribution among the SQL Server instances in the availability group.

In summary, the HADR_AG_MUTEX wait type in SQL Server is a result of contention for access to the availability group. This wait type can lead to performance issues and should be monitored and addressed by a database administrator. Optimizing the availability group configuration and workload can help to reduce the occurrence of this wait type.

Applies to

Related Waits

HADR_AR_CRITICAL_SECTION_ENTRY
HADR_AR_MANAGER_MUTEX
HADR_AR_UNLOAD_COMPLETED
HADR_ARCONTROLLER_NOTIFICATIONS_SUBSCRIBER_LIST
HADR_BACKUP_BULK_LOCK
HADR_BACKUP_QUEUE
HADR_CLUSAPI_CALL
HADR_COMPRESSED_CACHE_SYNC
HADR_CONNECTIVITY_INFO
HADR_DATABASE_FLOW_CONTROL
HADR_DATABASE_VERSIONING_STATE
HADR_DATABASE_WAIT_FOR_RESTART
HADR_DATABASE_WAIT_FOR_TRANSITION_TO_VERSIONING
HADR_DB_COMMAND
HADR_DB_OP_COMPLETION_SYNC
HADR_DB_OP_START_SYNC
HADR_DBR_SUBSCRIBER
HADR_DBR_SUBSCRIBER_FILTER_LIST
HADR_DBSEEDING
HADR_DBSEEDING_LIST
HADR_DBSTATECHANGE_SYNC
HADR_FABRIC_CALLBACK
HADR_FILESTREAM_BLOCK_FLUSH
HADR_FILESTREAM_FILE_CLOSE
HADR_FILESTREAM_FILE_REQUEST
HADR_FILESTREAM_IOMGR
HADR_FILESTREAM_MANAGER
HADR_GROUP_COMMIT
HADR_LOGCAPTURE_SYNC
HADR_LOGCAPTURE_WAIT
HADR_LOGPROGRESS_SYNC
HADR_NOTIFICATION_DEQUEUE
HADR_NOTIFICATION_WORKER_EXCLUSIVE_ACCESS
HADR_NOTIFICATION_WORKER_STARTUP_SYNC
HADR_NOTIFICATION_WORKER_TERMINATION_SYNC
HADR_PARTNER_SYNC
HADR_READ_ALL_NETWORKS
HADR_RECOVERY_WAIT_FOR_CONNECTION
HADR_RECOVERY_WAIT_FOR_UNDO
HADR_REPLICAINFO_SYNC
HADR_SYNC_COMMIT
HADR_SYNCHRONIZING_THROTTLE
HADR_TDS_LISTENER_SYNC
HADR_TDS_LISTENER_SYNC_PROCESSING
HADR_TIMER_TASK
HADR_TRANSPORT_DBRLIST
HADR_TRANSPORT_FLOW_CONTROL
HADR_TRANSPORT_SESSION
HADR_WORK_POOL
HADR_WORK_QUEUE
HADR_XRF_STACK_ACCESS

See Also


All Wait Types