Troubleshoot SQL Server Blocking and Identify Root Causes

Stop guessing and start solving. SolarWinds® SQL Sentry® provides a complete, actionable view of blocking chains and deadlocks to help you find the head blocker and resolve performance problems fast.

Download Free TrialEmail Link To Trial

Fully functional for 14 days

Learn More
Monitor SQL Server Blocking
Resolve Bottlenecks
Run Blocking Reports
Gain Visibility
Identify Root Blockers

Find the Root Blocker in Seconds, Not Hours

SQL Server Blocking 0 Features Array Item - features item image

When you've got a performance problem, you first check for blocking. This means manually running Transact-SQL (T-SQL) queries against dynamic management views (DMVs) such as sys.dm_exec_requests or constantly refreshing Activity Monitor in SQL Server Management Studio (SSMS). You're trying to find a blocking_session_id and trace it back. It's like searching for the start of a traffic jam from a helicopter with no radio: you can see a car has stopped, but you don't know why.

 

SQL Sentry scraps the manual process. It continuously monitors blocking transactions and displays the entire blocking chain in a simple, hierarchical, and color-coded view. You don't only see one server process ID (SPID); you see the whole picture. The head blocker (the root cause) is clearly shown as an orange running node, and all the victim processes blocked by it are in red. You can instantly see the relationships between all SPIDs in the chain, so you can pinpoint the true source of the block in seconds.

Download Free TrialEmail Link To Trial
Fully functional for 14 days
Learn More

Analyze the “Why” With Deep Blocking Details

SQL Server Blocking 1 Features Array Item - features item image

Finding the head-blocking SPID is only step one. The real questions are what is it doing and why? Without a tool, you'd have to grab the SPID and then run Database Console Commands (DBCC) INPUTBUFFER or query sys.dm_exec_sql_text to get the SQL statement.

 

SQL Sentry puts all this vital context in one place. For any block, you can see the full SQL statement text, how long it's been running, the total wait time, the specific wait type (e.g., LCK_M_IX), and the exact wait resource (e.g., a table, page, or key). The grid view also shows you the host, application, database, and login for both the blocker and the blocked sessions. This context is critical. You can immediately see whether a long-running query from a specific application is the culprit or whether a transaction was left open by a user. This data, combined with SQL Sentry Top SQL view for high-impact queries, gives you all you need to understand the root cause, not only the symptom.

Download Free TrialEmail Link To Trial
Fully functional for 14 days
Learn More

Go Beyond Real Time With Historical Blocking Analysis

SQL Server Blocking 2 Features Array Item - features item image

The biggest headache with SQL Server blocking is when the problem is intermittent. A user complains, but by the time you log in to SSMS, the block is gone. Activity Monitor and sp_who2 only show you what's happening right now.

 

SQL Sentry records blocking data, letting you troubleshoot issues after the fact. You can switch the “Blocking SQL” tab to “History” mode, select any time range, and see a complete replay of blocks that happened hours or days ago. This is a game changer for a database administrator (DBA). You can analyze trends using the “Blocked by” column to see if one application, wait resource, or wait type is consistently causing the most pain. This historical data, retained for 15 days by default, lets you move from firefighting to proactively tuning the queries and indexes responsible for chronic concurrency issues.

Download Free TrialEmail Link To Trial
Fully functional for 14 days
Learn More

Stop Reacting by Using Proactive Blocking and Deadlock Alerts

SQL Server Blocking 3 Features Array Item - features item image

Don't wait for users to tell you the database is slow. SQL Sentry comes with powerful proactive alerting. You can configure the SQL Server: Blocking SQL condition to fire an alert when any block lasts longer than your specified threshold (the Minimum Block Duration, which defaults to 15 seconds). This is far more advanced than a basic blocked_process report. You can also configure automated responses to specific conditions to prevent alert fatigue.

 

SQL Sentry excels at capturing and alerting on deadlocks. A deadlock is a deadly embrace in which two processes are waiting on each other, forcing Microsoft SQL Server to kill one of them (the victim) to resolve the issue. SQL Sentry captures the complete deadlock graph XML, shows you the victim and survivor queries, and lets you analyze the chain of events so you can fix the underlying logic and prevent it from happening again.

Download Free TrialEmail Link To Trial
Fully functional for 14 days
Learn More

Prevent Recurrence by Optimizing Bad Queries

Analyze MySQL - Analytics Tools for MySQL Database Use case type 1 2 Features Array Item - features item image

Killing a blocking SPID is a temporary fix. To solve the problem permanently, you need to fix the underlying query. When you spot a blocking query in SQL Sentry, you can jump directly into the integrated Plan Explorer to analyze the execution plan. You can see exactly which operators are causing the slowdown, view index scoring, and identify the missing indexes forcing scans and holding locks.

 

Once you identify the bottleneck, you don't need to waste hours on trial-and-error tuning. The new AI Query Assist helps you instantly generate optimized versions of your SQL. It analyzes your query and provides a side-by-side comparison of the original code and the improved rewrite, allowing you to deploy a permanent fix in minutes, not days.

Download Free TrialEmail Link To Trial
Fully functional for 14 days
Learn More

Get More on SQL Server Blocking

Do you find yourself asking…

  • Blocking is normal and happens all the time in SQL Server. It occurs when one process (a SPID) is waiting for a resource (such as a row or table) another SPID has locked. Blocking becomes a performance problem only when the wait time is long.

    A deadlock is a specific terminal type of blocking. It's a deadly embrace in which SPID 1 is waiting for a resource held by SPID 2, while SPID 2 is waiting for a resource held by SPID 1. Neither can move forward. Microsoft SQL Server automatically detects this, chooses one SPID as the victim, and kills its process, forcing the transaction to roll back.

Start Troubleshooting SQL Server Blocking Today

SolarWinds SQL Sentry

  • Get full visibility into blocking chains and deadlocks with the intuitive SQL Sentry dashboard
  • Analyze high-impact queries and historical performance data to find the root cause of performance bottlenecks
  • Set up proactive alerts and automated responses to stop blocking problems before they impact your users
Download Free TrialEmail Link To Trial
Fully functional for 14 days
Let's talk it over.

Contact our team. Anytime.

Learn More About Our Popular Products

Automated User Provisioning
NTFS Permissions Report Tool
Active Directory Auditing Tool
Network Audit
IP Address Scanner
Network Troubleshooting
Server Monitoring Software
Virtualization Manager
Database Performance Monitoring
Service Desk
IT Help Desk
IT Asset Management

Explore More Resources

View All Resources