What is Blocking?
Blocking in SQL Server occurs when one transaction locks a resource, like a row or table, causing another transaction to wait until the lock is released. It’s a normal part of concurrency control but can slow performance if excessive.
Why Does Blocking Happen?
Blocking is caused by:
- Long-Running Transactions: Transactions holding locks for too long.
- Excessive Locking: Broad locks, like table locks, block more resources.
- Poor Queries: Inefficient queries or missing indexes prolong locks.
Example of Blocking
On a website with 10,000+ users, an update query locks a table for 30 seconds. A login query waits, stalling the app. Once the update finishes, the login proceeds, but the delay causes slow performance.
Reducing Blocking
To minimize blocking:
- Optimize queries and indexes.
- Keep transactions short.
- Use row-level locks when possible.
- Monitor with SQL Server tools like DMVs.
These steps help reduce blocking and improve SQL Server Performance.
Have you seen our podcast episode where we talk about blocking at Deadlocks? Stedman SQL Podcast Season 2 Episode 13.
Do you need help with deaclocks on your SQL Server? We can help you root out those deadlock and blocking issues with a performance assessment.
SQL Server Performance Assessment
Identify the root causes of performance issues, blocking and deadlocks with our comprehensive assessment. Details at https://stedmansolutions.com/services/sql-performance-tuning/.

