LCK_M_RIn_S_LOW_PRIORITY

July 5, 2016 by

Description This wait occurs when a request is waiting to acquire a Key Range Insert Share lock with the low priority options added in SQL Server 2014. This mechanism acquires locks on a subset of rows in an index but only when the transaction isolation SERIALIZABLE is used. A share lock typically occurs when read […]

LCK_M_RIn_S

July 5, 2016 by

Description This wait occurs when a request is waiting to acquire a Key Range Insert Share lock. This mechanism acquires locks on a subset of rows in an index but only if the transaction isolation SERIALIZABLE is used. A share lock typically occurs when read requests are blocked by another transaction (implicit of explicit) that […]

LCK_M_RIn_NL_LOW_PRIORITY

July 5, 2016 by

Description This wait occurs when a request is waiting to acquire a Key Range Insert Null lock with the low priority options added in SQL Server 2014. This mechanism acquires locks on a subset of rows in an index but only when the transaction isolation SERIALIZABLE is used. A null lock is used internally and […]

LCK_M_RIn_NL_ABORT_BLOCKERS

July 5, 2016 by

Description This wait occurs when a request is waiting to acquire a Key Range Insert Null lock with the low priority options added in SQL Server 2014. This mechanism acquires locks on a subset of rows in an index but only when the transaction isolation SERIALIZABLE is used. A null lock is used internally and […]

LCK_M_IX_LOW_PRIORITY

July 5, 2016 by

Description This wait occurs when a request is waiting to acquire an Intent Exclusive lock with the low priority options added in SQL Server 2014. This style of locking typically happens when read and modify requests are blocked by write transactions (implicit of explicit) that have been kept open for extended periods of time. The […]

LCK_M_IX_ABORT_BLOCKERS

July 5, 2016 by

Description This wait occurs when a request is waiting to acquire an Intent Exclusive lock with the low priority options added in SQL Server 2014. This style of locking typically happens when read and modify requests are blocked by write transactions (implicit of explicit) that have been kept open for extended periods of time. The […]

LCK_M_IX

July 5, 2016 by

Description This wait occurs when a request is waiting to acquire an intent exclusive lock. These locks are required to protect the object or data from other requests. This wait typically occurs while read and modify requests are being blocked by other write transactions (implicit or explicit) Resolved by DBAs and Developers Suggested solutions Keep […]

LCK_M_IU_LOW_PRIORITY

July 5, 2016 by

Description This wait occurs when a request is waiting to acquire an Intent Update lock with the low priority options added in SQL Server 2014. This style of locking typically happens when read and modify requests are blocked by write transactions (implicit of explicit) that have been kept open for extended periods of time. The […]

LCK_M_IU_ABORT_BLOCKERS

July 5, 2016 by

Description This wait occurs when a request is waiting to acquire an Intent Update lock with the low priority options added in SQL Server 2014. This style of locking typically happens when read and modify requests are blocked by write transactions (implicit of explicit) that have been kept open for extended periods of time. The […]

LCK_M_IU

July 5, 2016 by

Description This wait occurs while a request is waiting to acquire an intent update lock. These locks are required to protect the object or data from other requests. This wait typically occurs while read and modify requests are being blocked by another write transaction (implicit or explicit) Resolved by DBAs and Developers Suggested solutions Keep […]

LCK_M_IS_LOW_PRIORITY

July 5, 2016 by

Description This wait occurs when a request is waiting to acquire an Intent Shared lock with the low priority options added in SQL Server 2014. These locks are required to protect the object or data of other requests. For example when a query is run on a table an Intent Shared lock is placed on […]

LCK_M_IS_ABORT_BLOCKERS

July 5, 2016 by

Description This wait occurs when a request is waiting to acquire an Intent Shared lock with the low priority options added in SQL Server 2014. These locks are required to protect the object or data of other requests. For example when a query is run on a table an Intent Shared lock is placed on […]

LCK_M_IS

July 5, 2016 by

Description This wait occurs when a request is waiting to acquire an intent shared lock. These locks are required to protect the object or data from other requests. For example when a query is run on a table an Intent Shared lock is placed on the table and database itself. This allows other requests to […]

LCK_M_BU_LOW_PRIORITY

July 5, 2016 by

Description This wait occurs when a request is waiting to acquire an Bulk Update lock with the low priority options added in SQL Server 2014. These locks are required to protect the object during bulk copy (eg WITH TABLOCK on bcp, SSIS or BULK INSERT commands). This wait typically occurs when requests are blocked by […]

LCK_M_RIn_S_ABORT_BLOCKERS

July 5, 2016 by

Description This wait occurs when a request is waiting to acquire a Key Range Insert Share lock with the low priority options added in SQL Server 2014. This mechanism acquires locks on a subset of rows in an index but only when the transaction isolation SERIALIZABLE is used. A share lock typically occurs when read […]

LCK_M_BU_ABORT_BLOCKERS

July 4, 2016 by

Description This wait occurs when a request is waiting to acquire an Bulk Update lock with the low priority options added in SQL Server 2014. These locks are required to protect the object during bulk copy (eg WITH TABLOCK on bcp, SSIS or BULK INSERT commands). This wait typically occurs when requests are blocked by […]

LCK_M_BU

July 4, 2016 by

Description This wait occurs when a request is waiting to acquire a bulk update lock. These locks are required to protect objects during bulk import operations (e.g. WITH TABLOCK on bcp, SSIS or BULK INSERT commands). This wait typically occurs while requests are blocked by bulk import operations Resolved by DBAs and Developers Suggested solutions […]

IO_COMPLETION

July 4, 2016 by

Description This wait represents SQL Server waiting for non-data page I/O. It is common for this wait to occur during tempdb spill-over from sort and hash operations Resolved by DBAs and Developers Suggested solutions Check to see if tempdb, data and logs are on separate volumes Optimize queries experiencing tempdb spillage Additional research Causes of […]

Temporal tables – SQL Server

July 4, 2016 by

What is a temporal table? Temporal tables give us the possibility to retrieve data from any point in the past and for every data change (Update, Delete, Merge). With temporal table users can recover data from accidental changes (update/delete) as well as audit all changes to data, etc. Temporary table is a new feature in […]

HADR_WORK_QUEUE

July 3, 2016 by

Description SQL Server dedicates threads for databases participating in Availability Groups. This wait type accumulates while these threads are waiting for tasks to be assigned to them. As it is an idling wait high values are expected and can be ignored Resolved by DBAs Suggested solutions Safe to ignore Additional research Monitor SQL Server AlwaysOn […]

HADR_WORK_POOL

July 3, 2016 by

Description For databases utilizing Availability Groups. This internal wait type accumulates while SQL Server is waiting for control of the Availability Group work task object. This wait is common and small values can be ignored. If values are excessive then investigation is required Resolved by DBAs Suggested solutions Safe to ignore Additional research Monitor SQL […]

HADR_TRANSPORT_FLOW_CONTROL

July 3, 2016 by

Description This wait type is only used for databases participating in an Availability Group. When an instance reaches certain thresholds (in this case the transport layer) SQL Server will accumulate this wait as well as restrict activity by enabling Availability Flow Control. This mechanism prevents the Secondary Replicas from becoming overwhelmed. Flow control is based […]

HADR_SYNCHRONIZING_THROTTLE

July 3, 2016 by

Description Similar to HADR_SYNC_COMMIT, however this wait occurs while Secondary Replicas are attempting to catch-up with the Primary. This is typically seen after: adding a database to an Availability Group, setting the replication mode to synchronous, and when either replica comes online Resolved by DBAs and Developers Suggested solutions Ensure secondary replicas are adequately resourced. […]

HADR_SYNC_COMMIT

July 3, 2016 by

Description This wait type is only used for databases participating in an Availability Group. When modifications occur on the Primary Replica in synchronous mode it must commit all of these on the Secondary Replicas before committing on itself. This wait type accumulates during this period Resolved by DBAs and Developers Suggested solutions If SLAs allow, […]

HADR_LOGCAPTURE_WAIT

July 3, 2016 by

Description For databases utilizing Availability Groups. This wait accumulates when the log capture mechanism (used to send/receive changes between primary and secondaries) is waiting for new log records to become available. This is a common wait, high values can often be ignored. However, if values are excessive or secondary replicas are frequently losing synchronized status […]