LCK_M_IU

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

  1. Keep transaction durations short
  2. Ensure that transaction isolation levels are appropriate (avoid SERIALIZEABLE and REPEATABLE READ if possible)
  3. Investigate enabling the READ_COMMITTED_SNAPSHOT database setting
  4. Run trace/Profiler/Extended Event session in conjunction with Blocked Process Threshold to determine which queries are being blocked
  5. Indexing, ensure that long running queries and transactions are optimized
  6. Ensure that locks being escalated correctly: row, page or table (if table is partitioned considered enabling partition escalation)

Additional research

Lock Modes
Reducing SQL Server Locks
Understanding Isolation Levels
Identify the Cause of SQL Server Blocking
Lock Escalations

⇐ Back to index