- 6 minutes to read

SQL Server Blocking Processes

Proactively monitor and resolve SQL Server blocking issues with the Nodinite Database Monitoring Agent. Eliminate costly downtime, improve database performance, and resolve blocking incidents before they impact your business operations.

Why Monitor SQL Server Blocking Processes?

SQL Server blocking occurs when one process holds a lock on a resource that another process needs. Left undetected, blocking can:

  • Cause application timeouts – Users experience slow response times or complete application failures
  • Impact revenue – E-commerce transactions, order processing, and critical business operations grind to a halt
  • Cascade into deadlocks – Multiple blocked processes can escalate into deadlock situations requiring intervention
  • Frustrate end users – Poor performance damages user experience and productivity
  • Degrade system performance – Resource contention spreads across the entire database instance

Without proactive monitoring, teams discover blocking issues only after users complain—when it's already too late.

What Does Nodinite Monitor?

The Database Monitoring Agent continuously monitors your SQL Instance(s) for blocking processes and provides:

Real-time blocking detection – Identify blocking chains the moment they occur
Customizable thresholds – Set Warning and Error alerts based on blocking duration (seconds)
Instant notifications – Get alerts via email, SMS, Teams, or any Alarm Plugin before users notice
Remote remediation – Terminate blocking processes directly from the Nodinite Web Client
Historical tracking – Audit blocking incidents to identify patterns and root causes
Centralized dashboard – Monitor multiple SQL instances from one unified interface

When to Use SQL Blocking Monitoring?

Use this feature when you need to:

  • Protect production databases – Ensure mission-critical SQL instances remain responsive
  • Support high-transaction environments – Monitor OLTP systems where blocking frequently occurs
  • Meet SLA commitments – Detect and resolve issues before breaching performance agreements
  • Enable NOC/support teams – Provide non-DBAs with safe, controlled remediation actions
  • Identify performance bottlenecks – Track blocking patterns to optimize queries and indexes
  • Ensure 24/7 operations – Automate alerts for after-hours and weekend monitoring

How It Works

When enabled, each monitored SQL Instance yields one Resource that the System Administrator can include in one or more Monitor Views. Users receive alerts using at least one of the built-in Alarm Plugins.

The Display name of the Resource is SQL Server blocked processes. The SQL Blocking Resource is grouped by the Category name 'SQL Blocking'.

SQL Blocking Category
Example of a Monitor View filtered by the 'SQL Blocking' category.

graph LR subgraph "Configuration" c["fal:fa-code SQL Blocking / Instance"] --> r[fal:fa-lightbulb 1 Resource] end

Each configuration is manifested as a Resource.

What are the key features of Monitoring Blocking processes?

What is evaluated for SQL Server Blocking?

The different possible evaluated states for your SQL Blocking are provided in the table below:

State Status Description Actions
Unavailable Resource not available Evaluation of the 'SQL Instance' is not possible either due to network or security-related problems Review prerequisites
Global Configuration
Error Error state raised At least one process has been blocked longer than the allowed Error duration Edit configuration
Terminate running process
Terminate blocked by
Warning Warning threshold is breached At least one process has been blocked longer than the allowed Warning duration Edit configuration
Terminate running process
Terminate blocked by
OK Online The SQL Server instance is online, operational and accessible. No blocking processes according to the Monitoring thresholds Edit configuration

Tip

The System Administrator can override the Monitoring state using the Expected State feature on the Resource within Nodinite.


Global Configuration

To manage the blocking process feature, click on the Advanced tab in the Remote Configuration.

Advanced tab
Example of the Advanced tab for blocking process configuration.

  • SQL Blocking - Enabled – When checked, monitoring for Blocking is enabled
  • SQL Blocking - Duration Warning – The longest allowed duration for SQL Blocking in seconds before a Warning is raised
  • SQL Blocking - Duration Error – The longest allowed duration for SQL Blocking in seconds before an Error is raised

Actions

The Database Monitoring Agent supports remote actions. The following Actions are available:

Actions
Example of available actions for blocking processes.

List blocked processes

You can view the blocking processes by clicking the 'List Blocked Processes' menu item in the Actions button.

List Blocked Processes Actions
Example of listing blocked processes.

The list of blocking processes is shown in a table on the screen.

Blocking processes
Example of the blocking processes table.

You can Terminate either the process being blocked or the process causing the block.

Terminating Actions
Example of terminating actions for blocked processes.

Terminate the running process

To terminate the running process, click the 'Terminate the running process' menu item of the Actions button.

Terminate the running process
Example of terminating the running process.

Next, a modal appears to allow the User in the Nodinite Web Client to confirm the intent to proceed with the operation.

Confirm intent to Terminate the running process
Example of the confirmation modal for terminating the running process.

Whether successful or not, a message appears to inform about the result.

Terminate the running process outcome
Example of the outcome after terminating the running process.

Terminate the blocked by process

To terminate the blocked by process, click the 'Terminate the blocked by process' menu item of the Actions button.

Terminate the the blocked by process
Example of terminating the blocked by process.

Next, a modal appears to allow the User in the Nodinite Web Client to confirm the intent to proceed with the operation.

Confirm intent to Terminate the blocked by process
Example of the confirmation modal for terminating the blocked by process.

Whether successful or not, a message appears to inform about the result.

Terminate the blocked by process outcome
Example of the outcome after terminating the blocked by process.

Edit Thresholds

You can Edit the Monitoring thresholds for blocking SQL Server Processes. Click the Edit Thresholds menu item of the Actions button.

Edit thresholds menu item
Example of the Edit Thresholds menu item.

A modal opens where the User may tweak the duration in seconds threshold, triggering the Error or Warning state.

Edit thresholds
Example of the Edit Thresholds modal.

Click the Save button to persist changes.


Troubleshooting

If you want to play with this feature, you can run the following query in two separate windows in SSMS. The script causes the first session to acquire a lock, causing the second session to be blocked by the running process.

BEGIN TRANSACTION;   
    EXEC sp_getapplock @resource = 'Nodinite', @LockMode = 'Exclusive';  
    WAITFOR DELAY '00:13:37';
    EXEC sp_releaseapplock @resource = 'Nodinite';  
COMMIT TRANSACTION;

Next Step

Add or manage Monitor View
Configuration - Configure global thresholds for SQL Blocking monitoring

Database Monitoring Agent - Main overview of the Database Monitoring Agent
SQL Categories - Overview of all SQL Server monitoring features
SQL Instance - Monitor SQL Server instance health and availability
SQL Jobs - Monitor and manage SQL Server Agent Jobs
SQL Backups - Monitor SQL Server backup status and history
SQL Size Checks - Monitor database and log file sizes
SQL Statements - Create custom TSQL monitoring queries
Prerequisites for Database Monitoring Agent - Setup requirements
Monitor Views - Organize resources into monitoring dashboards
Resources - Understanding Nodinite resources