SQL Server Process Status
Page description
This page monitors SQL Server process activity and combines a historical view with point-in-time analysis. It lets you review the evolution of running processes, TempDB pressure, long-running queries, active blocking, and detected deadlocks. It also includes a visual date selector to move from the trend across the selected period to a specific snapshot, which helps correlate activity spikes with sessions, waits, and resource consumption.
Variables
| Variable | Description |
|---|---|
$Server_Name | Selects the SQL Server instance to analyze. Values come from the instances configured in the monitoring environment. |
| Time range | Defines the historical window used by the time series, long-query detection, and the list of available timestamps in the time selector. |
Overview
This section gathers the main information for the selected period. It shows the evolution of process status and TempDB usage, lets you choose a specific timestamp for deeper analysis, and summarizes the most relevant concurrency indicators before moving into detailed process and TempDB consumption panels.
Process Status
- Description: Timeline of running process status across the selected time range. It only represents processes in Running, Suspended, and Blocked states, so it is useful for detecting concurrency changes, wait accumulation, and blocking events over time.
- Panel type: timeseries
- Units: number of processes
Value colors:
| Value | Color | Description |
|---|---|---|
| Running | Processes actively executing. | |
| Suspended | Processes waiting on a resource or resumption. | |
| Blocked | Processes stopped by blocking. |
Practical recommendation: If blocked or suspended process counts spike, first check whether they align with load windows, maintenance activity, or long-running queries so you can isolate the source of contention quickly.
TempDB Size
- Description: Timeline of TempDB usage, separating total space from the portion used by Version Store, Internal Objects, and User Objects. It helps determine whether growth is driven by row versioning, heavy internal operations, or temporary objects created by user sessions.
- Panel type: timeseries
- Units: megabytes
Value colors:
| Value | Color | Description |
|---|---|---|
| Total Space MB | Observed total TempDB size. | |
| Version Store MB | Space used by row versioning. | |
| Internal Objects MB | Space consumed by internal operations such as sorts or hashes. | |
| User Objects MB | Space used by temporary objects created by users or processes. |
Practical recommendation: If Version Store or Internal Objects grow steadily, review long transactions, plans with heavy sorting, and queries that depend heavily on TempDB before the growth affects the whole instance.
Time Selector
- Description: Visual selector of available timestamps within the chosen time range. It lets you fix the exact moment used by the detailed process and TempDB panels, turning a historical trend into a concrete operational snapshot.
- Panel type: marcusolsson-dynamictext-panel
Practical recommendation: Use this selector after locating a spike in the time series so every detailed table is aligned with the exact moment when the incident occurred.
Process Status: $Date
- Description: Summary of process status for the selected timestamp. It presents the number of blocked, running, and suspended processes together with the deadlocks detected at that specific moment.
- Panel type: stat
- Units: number of processes and deadlocks
Value colors (Blocked):
| Value | Color | Description |
|---|---|---|
| Rest of values | No relevant blocking in the snapshot. | |
> 1 | Blocking exists and should be reviewed. | |
> 10 | Severe blocking level with likely user impact. |
Value colors (Deadlock):
| Value | Color | Description |
|---|---|---|
| Rest of values | No deadlocks detected at that moment. | |
> 1 | Deadlocks are present and the pattern should be analyzed. | |
> 3 | High and potentially critical deadlock frequency. |
Practical recommendation: If Blocked or Deadlock moves away from green, go straight to the process tables for the same timestamp to locate the originating session and the wait pattern.
TempDB Size Distribution: $Date
- Description: Internal TempDB distribution for the selected timestamp. It breaks down free space and the space used by Version Store, Internal Objects, and User Objects so you can see which component is dominating consumption in the analyzed snapshot.
- Panel type: stat
- Units: megabytes
Value colors (Version Store MB):
| Value | Color | Description |
|---|---|---|
| Rest of values | Row-versioning usage is within expected levels. | |
> 4096 | Elevated Version Store, usually tied to long transactions or version-based isolation. |
Value colors (Internal Objects MB):
| Value | Color | Description |
|---|---|---|
| Rest of values | Internal consumption remains stable. | |
> 1024 | Internal operations are consuming a noticeable amount of TempDB. | |
> 2048 | High internal pressure on TempDB. |
Value colors (User Objects MB):
| Value | Color | Description |
|---|---|---|
| Rest of values | User temporary object usage is at normal levels. | |
> 2048 | Temporary object growth should be reviewed. | |
> 8192 | Very high user temporary object consumption. |
Value colors (Free Space MB):
| Value | Color | Description |
|---|---|---|
| Rest of values | Free space is low and operational risk is high. | |
> 1024 | Free space margin is acceptable, but should be watched. | |
> 2048 | Free space is sufficient for comfortable operation. |
Practical recommendation: If free space drops while Version Store or Internal Objects rise, prioritize reviewing long transactions, heavy sorts, and sessions with high temporary usage before TempDB runs short on headroom.
Long Querys
- Description: Table of queries with high execution time within the selected range. It highlights sessions that remained active for a significant portion of the period, together with database, application, host, user, and last activity details.
- Panel type: table
- Units: percentage in the
% Running Timecolumn
Practical recommendation: Review the rows with the highest % Running Time first, because they are usually the sessions that held resources the longest; from there, validate the execution plan, indexing, and transaction duration.
Process: $Date
This section drills into the snapshot chosen in the time selector. It lets you analyze which sessions are blocking, which remain runnable or suspended, what deadlocks are involved, and how the full set of instance processes looks at that exact moment.
Blocked Process: $Date
- Description: Table of processes participating in blocking at the selected timestamp, including both blockers and blocked sessions. It includes the blocking chain, wait type and duration, the related query, the blocking tree, and whether the process is part of a deadlock.
- Panel type: table
Practical recommendation: Start by identifying the head blocker in the chain and confirm whether its query, transaction, or application can be corrected before considering a manual action against the session.
Runnable and Suspended Process: $Date
- Description: Table of running processes whose state is Runnable or Suspended at the selected timestamp. It adds context about CPU, physical I/O, memory, waits, open transactions, and possible blocking relationships.
- Panel type: table
Practical recommendation: If a suspended session also shows high historical CPU, long wait time, or many open transactions, immediately review the resource it is waiting on and the operation that keeps it active.
Deadlock: $Date
- Description: Table of processes that are generating or are about to generate a deadlock at the selected timestamp. It helps review the involved sessions, their application, login, database, query, and wait metrics to understand the conflict.
- Panel type: table
Practical recommendation: When rows appear here, compare the involved sessions to detect inconsistent access order, transactions that are too long, or missing indexes that increase lock duration.
All Process: $Date
- Description: Complete inventory of instance processes at the selected timestamp. It consolidates active sessions with their state, query, application, wait times, CPU, physical I/O, memory usage, and blocking relationships so you can get a full view of the analyzed moment.
- Panel type: table
Practical recommendation: Use this table as the global reference when the issue is not yet clear; sorting by CPU, waits, or memory usually helps isolate the most influential sessions quickly.
TempDB: $Date
This section focuses on the TempDB snapshot for the chosen timestamp. It is aimed at locating which processes are occupying the most space and distinguishing whether the growth is active, useful, or potentially abnormal.
TempDB Space Usage: $Date
- Description: Table of the main processes using TempDB around the selected timestamp. It shows reserved total size, active size, the query, and a code fragment so you can quickly locate the session driving the consumption.
- Panel type: table
- Units: megabytes in
Total Size (mb)andTotal Active Size (mb)
Practical recommendation: Prioritize the rows with the highest Total Active Size (mb), because they usually correspond to the sessions exerting the most real pressure on TempDB and should be reviewed or optimized first.
