HADR_SYNC_COMMIT SQL Server Wait Type

Wait Type HADR_SYNC_COMMIT

The wait type HADR_SYNC_COMMIT is ranked #47 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.


In order to ensure the availability and durability of data, SQL Server uses a technology called "Always On Availability Groups" (AAG) to replicate data across multiple servers and automatically fail over in the event of a server failure.

One of the wait types associated with AAG is called HADR_SYNC_COMMIT. This wait type is triggered when a SQL Server process is committing a transaction to the local database and is waiting for the transaction to be replicated to the secondary replicas in the AAG.

When a SQL Server process performs a write operation, such as inserting, updating, or deleting data, it must first commit the changes to the local database. This involves writing the changes to the database files and updating the transaction log.

Once the changes have been committed to the local database, they must then be replicated to the secondary replicas in the AAG. This is done to ensure that the data remains available and consistent across all replicas in the AAG.

The process of replicating the changes to the secondary replicas can sometimes take some time, depending on the size and complexity of the transaction. In these cases, the SQL Server process will wait for the replication to complete before it can continue with its work. This waiting is what is known as a HADR_SYNC_COMMIT wait.

While the HADR_SYNC_COMMIT wait type is generally not a cause for concern, it can sometimes indicate a performance issue if it is occurring frequently or for long periods of time. In these cases, it may be necessary to investigate the cause of the issue and take steps to improve performance, such as optimizing the replication process or increasing the systems resources.

Overall, the HADR_SYNC_COMMIT wait type is an important part of how SQL Server uses AAG to ensure the availability and durability of data. By understanding this wait type and its potential impact on performance, database administrators can ensure that their systems are running efficiently and effectively.


Watch on YouTube


Find out more about our SQL Server Managed Services

Applies to

Related Waits

HADR_AG_MUTEX
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_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
HADR_SYNC_COMMIT SQL Server Wait Type