How to Find and Solve Blocking Chain in SQL Server
Focus your tuning efforts to reduce overall blocking time
Identify the biggest root blockers by analyzing total wait times
SolarWinds® Database Performance Analyzer (DPA) is built to collect blocking data in a feature called the Blocking Tab, which provides a high level of visibility into the root blocker (shown at the top of the tree) and its aggregated wait time. This allows database administrators to drill down into the top blocking data and see its impact on database response times. DPA can also reveal the top waiters, allowing DBAs to quickly pinpoint their top blockers and use this data to better optimize the queries reducing blocking the most.
Reduce blocking time by zeroing in on the most important queries
DPA provides a Top Blocking Sessions Tab dashboard to help highlight the post-lock activity in your SQL Server preventing blocked sessions from completing their transactions and releasing locks. This capability can help database administrators reduce overall blocking wait time by making it easier to reoptimize the activity of the top blocker queries and decrease the time locks are held in a SQL Server blocking chain.
Easily pinpoint waiting objects being slowed down because of blocking
In large enterprises, it can be challenging for database administrators to identify queries, programs, users, and other elements waiting on blockers and slowing down transactions. DPA offers a quick and easy remedy to this problem. The intuitive dashboard in DPA can make it easier for database administrators to identify waiters, quickly drill down into the cause of long wait times and find their blockers. All of this can be done directly from the DPA dashboard in three to four clicks.
Track idle blockers to identify the last active query
Sometimes blockers become idle, which means they’re blocking without performing any specific function. DPA is designed to track these blocker sessions backward in time to discover the last known queries running within the transaction before it went idle. Armed with this information, database administrators can more confidently collaborate with database developers to fix the application code causing idle blocking. Additionally, DPA can provide visibility into top blockers.
Get More on How to Find Blocking in SQL Server
Do you find yourself asking…
Database locking refers to a method of ensuring a database processes transactions or requests in a certain order. The SQL Server will put a lock on a resources or other sessions to make sure events occur in the right sequence. This helps avoid a race condition, a situation where a device tries to execute two actions at the same time even though they must unfold in a set order due to the nature of the device or system. This is critical for maintaining data integrity within the database.
To successfully complete a transaction, a relational database management system (RDBMS) must make sure the transaction passes the ACID Test. The ACID test is comprised of the following criteria:
- Atomic: The transaction must perform in an “all-or-nothing” fashion.
- Consistent: Transactions must be processed in a uniform manner.
- Isolated: Transactions must be isolated until they’re completed.
- Durable: The database must keep a record of uncompleted transactions capable of being recovered in the event of a failure.
Database locking comes into play during the “Isolation” portion of the ACID Test. To facilitate isolation, the database will lock certain objects (usually one or more rows of data) until associated transactions are completed. This prevents other processes from changing these objects until the lock is removed and helps prevent data loss.
Database blocking is closely related to database locking. Blocking is simply what occurs when locks have been placed on various objects within the database. For example, if the database receives a request against a locked object, the request will not be completed until the lock is lifted. The subsequent delay or stopping of the request is called a block.
Database blocking and locking are bound to occur if you work with Microsoft SQL Server or any other database on a regular basis. The key is to take preventative measures to make sure locking and blocking don’t completely take over your database and cause performance issues capable of negatively impacting end users.
Database locking refers to a method of ensuring a database processes transactions or requests in a certain order. The SQL Server will put a lock on a resources or other sessions to make sure events occur in the right sequence. This helps avoid a race condition, a situation where a device tries to execute two actions at the same time even though they must unfold in a set order due to the nature of the device or system. This is critical for maintaining data integrity within the database.
To successfully complete a transaction, a relational database management system (RDBMS) must make sure the transaction passes the ACID Test. The ACID test is comprised of the following criteria:
- Atomic: The transaction must perform in an “all-or-nothing” fashion.
- Consistent: Transactions must be processed in a uniform manner.
- Isolated: Transactions must be isolated until they’re completed.
- Durable: The database must keep a record of uncompleted transactions capable of being recovered in the event of a failure.
Database locking comes into play during the “Isolation” portion of the ACID Test. To facilitate isolation, the database will lock certain objects (usually one or more rows of data) until associated transactions are completed. This prevents other processes from changing these objects until the lock is removed and helps prevent data loss.
Database blocking is closely related to database locking. Blocking is simply what occurs when locks have been placed on various objects within the database. For example, if the database receives a request against a locked object, the request will not be completed until the lock is lifted. The subsequent delay or stopping of the request is called a block.
Database blocking and locking are bound to occur if you work with Microsoft SQL Server or any other database on a regular basis. The key is to take preventative measures to make sure locking and blocking don’t completely take over your database and cause performance issues capable of negatively impacting end users.
Uncover how to find blocking in SQL Server with a database analyzer
Database Performance Analyzer
- Easily identify what’s being blocked and what’s doing the blocking within your SQL Server.
- Eliminate performance bottlenecks by clearing up root blockers as quickly as possible.
- Gain access to the data needed to optimize your database performance, indexes, and queries.



