SQL Server blocking
Find the transaction holding up your workload.
The problem
Requests queue behind a long transaction while application timeouts grow. The waiting query is often a symptom; the head blocker is the starting point.
Recognise the symptoms
- Application timeouts during otherwise normal load
- A chain of requests waiting on locks
- An idle session with an open transaction
A practical investigation workflow
Capture the blocking chain
Record blocked sessions, the head blocker, SQL text, wait resources and transaction age before the incident disappears.
Find why locks remain held
Check transaction scope, application connection handling and the execution plan. An idle session can still own an uncommitted transaction.
Agree a targeted change
Work with the application owner on shorter transactions, suitable indexes or access patterns. Assess rollback time before terminating a session.
Verify under representative load
Compare blocking duration, timeout rate and transaction completion after the change.
What success looks like
A documented cause and a measurable reduction in timeouts, rather than a recurring session-kill workaround.
Blocking can be normal. Changing isolation levels or terminating sessions needs workload-specific review.
Microsoft: understand and resolve blockingRelated workflows
SQL Object Search- SQL Server deadlocks
- SQL Server slow queries
- SQL Server transaction log full
- SQL Server backup recovery
- SQL Server schema drift