Skip to content

SQL Server Process Status ​

1. Detailed MetricsSQL ServerAzure SQL DatabaseAzure SQL Managed InstanceFabric SQL DatabaseAmazon RDS for SQL Server

Descripción de la página ​

Esta página muestra el estado de los procesos de una instancia. Funciona igual sobre cualquier instancia SQL Server on-premise, Azure SQL Database, Azure SQL Managed Instance, Fabric SQL Database o Amazon RDS for SQL Server — no hace falta ninguna configuración distinta según el tipo de instancia. Combina, en una sola vista, la actividad de sesiones, los bloqueos, las long queries, los deadlocks y el consumo de TempDB de una instancia, con dos formas de mirar los mismos datos: una Tendencia agregada sobre el rango de tiempo seleccionado, y un Snapshot con el detalle exacto de un instante concreto.

Una cabecera de estado resume de un vistazo si la instancia necesita atención, y una sección de Detalle de Actividad permite investigar sesión por sesión — incluyendo las cadenas de bloqueo y los ciclos de deadlock como árboles navegables, no solo como listas planas.

Variables ​

VariableDescripción
$Server_NameSelecciona la instancia que se quiere analizar — SQL Server on-premise, Azure SQL Database, Azure SQL Managed Instance, Fabric SQL Database o Amazon RDS for SQL Server. Los valores corresponden a las instancias configuradas en el entorno de monitorización.
CommentsIdioma (Spanish o English) en el que se muestran los textos de las sugerencias de IA en la pestaña AI Suggestions del detalle de Activity Detail: query documentada, query optimizada y recomendaciones. El texto original de la query y el plan de ejecución no se traducen.
Rango de tiempoDefine la ventana histórica que alimenta la sección Trend (KPIs agregados y series temporales) y la línea de snapshots disponibles del Time Selector. La sección Snapshot no depende directamente del rango, sino del instante concreto que se seleccione dentro de él (o el más reciente, si no se ha fijado ninguno).

Estado General ​

Cabecera de Estado ​

  • Descripción: Barra superior con el nombre de la instancia y una insignia de estado global, calculada a partir de los bloqueos, long queries y deadlocks detectados en la actividad más reciente.

Colores por valor:

ValorColorDescripción
HEALTHYSin bloqueos, long queries ni deadlocks activos, con un chequeo reciente.
TO CHECKHay procesos bloqueados y/o long queries activas, pero ningún deadlock.
NO DATANo se ha recibido un snapshot reciente de la instancia.
WRONG (CRITICAL)Se ha detectado al menos un deadlock.

Recomendación práctica

Un estado CRITICAL merece revisión inmediata en la pestaña Deadlocks del Detalle de Actividad; TO CHECK es una señal para vigilar de cerca, no necesariamente para actuar ya.

Trend ​

Sección con los indicadores agregados y la evolución en el tiempo de toda la actividad del rango seleccionado — procesos, TempDB y su composición interna.

Process Status · KPIs ​

  • Descripción: Métricas agregadas de actividad de procesos sobre el rango de tiempo seleccionado, en cuatro tarjetas.

Max Blocked — Cuando una sesión necesita un recurso (una fila, una página, una tabla) que otra sesión ya tiene retenido, se queda "bloqueada" (blocked) hasta que esa segunda sesión ("bloqueante") lo libere. Esta tarjeta muestra el pico más alto del número de procesos bloqueados o bloqueantes detectado en un único snapshot dentro del rango — es decir, el momento de mayor congestión por bloqueos.

Max Active (run + sus) — Runnable es una sesión lista para ejecutar que solo está esperando CPU; Suspended es una sesión esperando cualquier otro recurso (un lock, una página en disco, I/O…), no necesariamente por culpa de otra sesión. Esta tarjeta muestra el pico de sesiones activas simultáneas combinando ambos estados, con los tres picos más altos del rango — el valor en verde son las runnable de ese pico, el valor en azul las suspended. Es puramente informativa, sin umbral de color.

Long Queries — Una sesión se considera long query cuando ha estado activa (runnable o suspended) en más del 25% de los snapshots recogidos durante la hora anterior a un instante dado: es decir, lleva ejecutándose un tiempo desproporcionadamente largo respecto a la actividad normal del servidor. Esta tarjeta muestra el pico máximo de long queries concurrentes detectado en un único snapshot del rango.

Total Deadlocks — Un deadlock ocurre cuando dos o más sesiones se bloquean mutuamente en círculo (la sesión A espera un recurso que tiene la B, y la B espera uno que tiene la A), sin que ninguna pueda avanzar; SQL Server detecta esta situación automáticamente y termina una de las sesiones (la "víctima") para romper el ciclo. Esta tarjeta muestra cuántos deadlocks distintos se han detectado a lo largo de todo el rango seleccionado, y la hora del último.

Colores por valor:

TarjetaValorColorDescripción
Max BlockedResto de valoresSin procesos bloqueados ni bloqueantes en el pico máximo del rango.
> 0Se detecta al menos un proceso bloqueado o bloqueante en el pico máximo.
> 10El pico de bloqueados/bloqueantes supera los 10 procesos — impacto severo probable en usuarios.
Max Active (run + sus)—Sin umbral de color — indicador puramente informativo.
Long QueriesResto de valoresSin long queries detectadas en el pico máximo del rango.
> 0Se detecta 1 o más long queries concurrentes en el pico máximo.
> 5El pico de long queries concurrentes supera 5 — concurrencia alta de consultas de larga duración.
Total DeadlocksResto de valoresNingún deadlock detectado en todo el rango seleccionado.
> 0Se ha detectado al menos un deadlock en el rango — sin estado intermedio de aviso.

Los picos son clicables: cada pico marcado en una tarjeta (Max Blocked, Max Active, Long Queries, Total Deadlocks) se puede pinchar para fijar ese instante como seleccionado — equivale a pincharlo en el Time Selector de la sección Snapshot. Al hacer clic, la sección Snapshot completa (contadores, TempDB y Detalle de Actividad) se actualiza para mostrar ese momento exacto, y la pestaña de Detalle de Actividad correspondiente se abre automáticamente (Max Blocked → pestaña Blocked, Max Active → pestaña All Process, Long Queries → pestaña Long Queries, Total Deadlocks → pestaña Deadlocks), para pasar directamente del pico agregado al detalle de qué estaba pasando en ese instante.

Recomendación práctica

Para un pico de Max Blocked alto, revisa la pestaña Blocked del Detalle de Actividad para identificar el bloqueador raíz antes de plantear un KILL — matar la sesión equivocada de una cadena de bloqueo no resuelve el problema. Para Long Queries, contrasta con el plan de ejecución de la sesión (botón de detalle en la fila) antes de asumir que el problema es solo de duración. Para Total Deadlocks, revisa el ciclo completo en la pestaña Deadlocks: casi siempre se resuelve garantizando que las transacciones accedan a los mismos recursos siempre en el mismo orden.

Process Status · Trend ​

  • Descripción: Serie temporal que muestra la evolución de la actividad de procesos a lo largo del rango seleccionado. Cada punto representa un snapshot recopilado. Blocked, Long Queries y Deadlock solo son visibles cuando su valor es mayor que cero, para reducir ruido visual cuando no hay incidencias.
  • Unidades: número de procesos

Colores por valor:

SerieColor
Blocked
Running
Suspended
Long Queries
Deadlock

TempDB Status · KPIs ​

  • Descripción: Métricas agregadas de uso de TempDB sobre el rango de tiempo seleccionado, en cuatro tarjetas. TempDB es una base de datos del sistema compartida por toda la instancia, usada para tablas temporales, ordenaciones, row versioning y otras operaciones internas del motor.

Max Total Size — Tamaño total máximo alcanzado por TempDB durante el rango: la capacidad reservada para sus archivos, combinando espacio libre y ocupado. Es puramente informativa, sin umbral de color, y sirve de referencia para interpretar Max Used Size.

Max Used Size — Pico del espacio realmente ocupado en TempDB (Total Size menos espacio libre) durante el rango: cuánta de esa capacidad estuvo en uso en el peor momento.

Max User Objects — Pico de espacio ocupado por objetos creados explícitamente por sesiones de usuario: tablas temporales (#tabla), variables de tabla y cursores. Informativa, sin umbral de color.

Ver + Int Objects — Máximo alcanzado conjuntamente por dos tipos de consumo interno de TempDB: el version store (espacio que SQL Server reserva para mantener versiones anteriores de las filas, usado por el aislamiento snapshot y los triggers) y los objetos internos (espacio temporal que usa el propio motor durante ordenaciones, hash joins y operaciones masivas). Informativa, sin umbral de color.

Colores por valor:

TarjetaValorColorDescripción
Max Total Size—Sin umbral de color — indicador puramente informativo.
Max Used SizeResto de valoresEl espacio utilizado se mantiene por debajo del 40% de Max Total Size.
> 40% de Max Total SizeEl pico de espacio utilizado supera el 40% del tamaño total máximo.
> 75% de Max Total SizeEl pico de espacio utilizado supera el 75% del tamaño total máximo — riesgo de agotar TempDB.
Max User Objects—Sin umbral de color — indicador puramente informativo.
Ver + Int Objects—Sin umbral de color — indicador puramente informativo.

Los picos son clicables, igual que en Process Status · KPIs: pinchar el pico de Max Total Size o Max Used Size fija ese instante y actualiza toda la sección Snapshot, abriendo automáticamente la pestaña TempDB Usage del Detalle de Actividad.

Recomendación práctica

Un Max Used Size en rojo es motivo de revisión inmediata — identifica qué sesiones consumen TempDB en la pestaña TempDB Usage del Detalle de Actividad. Las causas más habituales son tablas temporales muy grandes, exceso de row versioning por aislamiento snapshot o transacciones muy largas que retienen version store. Presizar TempDB por adelantado (evitando el autogrowth constante) también ayuda a estabilizar este indicador.

TempDB Status · Trend ​

  • Descripción: Serie temporal que muestra la evolución del tamaño de TempDB a lo largo del rango seleccionado. Cada punto representa un snapshot recopilado. Used Size se calcula como la suma de Version Store, Internal Objects y User Objects — ver el panel TempDB Composition para el desglose por tipo de objeto.
  • Unidades: megabytes

Colores por valor:

SerieColor
Total Size
Used Size

TempDB Composition · Trend ​

  • Descripción: Desglose del espacio utilizado en TempDB sobre el rango de tiempo seleccionado, mostrando qué tipo de objeto consume el espacio: objetos de usuario (tablas temporales, variables de tabla, cursores), version store (row versioning, snapshot isolation, triggers) y objetos internos (ordenaciones, hash joins, spools, operaciones masivas).
  • Unidades: megabytes

Colores por valor:

SerieColor
Version Store
Internal Objects
User Objects

Snapshot ​

Sección con el estado exacto de la instancia en un instante concreto, elegido con el Time Selector — en lugar de un agregado del rango, muestra "la foto" de ese momento.

Time Selector ​

  • Descripción: Línea temporal con todos los snapshots del rango seleccionado. Al hacer clic en un punto se fija ese instante, y la sección Snapshot de abajo muestra el estado exacto en ese momento. Los huecos en la línea indican que no se recogieron datos. Si no hay nada seleccionado, se usa el snapshot más reciente.

Process Status · Snapshot ​

  • Descripción: Contadores de procesos en el snapshot seleccionado, espejo de Process Status · KPIs de la sección Trend, pero referidos a ese único instante. Long Queries cuenta las sesiones de larga duración del rango actual que seguían activas en este instante concreto.

Colores por valor:

TarjetaValorColorDescripción
BlockedResto de valoresSin procesos bloqueados ni bloqueantes en este instante.
> 0Hay al menos un proceso bloqueado o bloqueante en este instante.
> 10Más de 10 procesos bloqueados/bloqueantes en este instante — impacto severo probable.
Running—Sin umbral de color — indicador puramente informativo.
Suspended—Sin umbral de color — indicador puramente informativo.
Long QueriesResto de valoresSin long queries activas en este instante.
> 01 o más long queries activas en este instante.
> 5Más de 5 long queries activas en este instante.
Deadlock—Sin umbral de color — el valor se muestra siempre en rojo fijo, sin un estado adicional de aviso en el borde.

TempDB Status · Snapshot ​

  • Descripción: Distribución del espacio de TempDB en el snapshot seleccionado, espejo de TempDB Status · KPIs de la sección Trend. El espacio libre es Total menos Used. Un guion indica que no hay una captura de TempDB dentro de los 6 minutos alrededor del instante seleccionado (TempDB se recoge con una cadencia distinta a la de procesos).

Colores por valor:

TarjetaValorColorDescripción
Total Size—Sin umbral de color — indicador puramente informativo.
Used SizeResto de valoresEl espacio utilizado se mantiene por debajo del 40% del tamaño total en este instante.
Used Size> 40% de Total SizeEl espacio utilizado supera el 40% del total en este instante.
Used Size> 75% de Total SizeEl espacio utilizado supera el 75% del total en este instante — riesgo de agotar TempDB.
User Objects—Sin umbral de color — indicador puramente informativo.
Version Store—Sin umbral de color — indicador puramente informativo.
Internal Objects—Sin umbral de color — indicador puramente informativo.

Activity Detail · Snapshot ​

  • Descripción: Vista detallada, sesión por sesión, de la actividad en el snapshot seleccionado, organizada en cinco pestañas (All Process, Blocked, Long Queries, Deadlocks, TempDB Usage). Cada fila representa una sesión y puede abrirse para ver su detalle completo, incluyendo el plan de ejecución si se capturó uno.

Card Mode y Table Mode ​

A la derecha de las pestañas hay un selector con dos formas de ver las mismas sesiones:

  • Card Mode (la vista por defecto): una tarjeta por sesión, con insignias y la vista previa de la query.
  • Table Mode: una tabla clásica, con una fila por sesión y una columna por campo. En Blocked, la primera columna dibuja el árbol de bloqueo.

En Table Mode, el botón ⎘ Copy table copia las filas visibles como texto, para exportarlas a otra herramienta.

Barra de herramientas ​

Disponible en las tres pestañas de lista plana (All Process, Long Queries, TempDB Usage) — no aparece en Blocked ni en Deadlocks, porque en esas dos el orden de las filas es la propia jerarquía del árbol y no tendría sentido reordenarlas.

  • Search: campo de texto libre. Filtra las filas comparando el texto escrito contra SPID, Application, Login, Database, Hostname, Status y el texto completo de la query — basta con que aparezca en cualquiera de esos campos.

  • Status: una fila de casillas, una por cada estado realmente presente en el snapshot actual (no una lista fija) — por ejemplo, si en este snapshot no hay ninguna sesión sleeping, no aparece esa casilla. Todas empiezan marcadas; desmarcar una oculta las filas con ese estado. Un estado nuevo que nunca se haya desmarcado antes aparece siempre marcado por defecto.

  • Sort by: botones de ordenación, distintos según la pestaña:

    • All Process y Long Queries: CPU, Physical IO, Memory, Id, Login Time, Last Batch.
    • TempDB Usage: Accumulated Size, Active Size, Id.

    Un segundo clic sobre el mismo botón invierte el orden (▼ descendente, ▲ ascendente). El campo por el que se está ordenando se resalta en verde en todas las filas, para localizar el valor de un vistazo.

All Process ​

Todas las sesiones activas en el snapshot, una fila por SPID, en lista plana sin jerarquía. Ordenada por CPU de forma predeterminada.

Cada fila de proceso de All Process, Long Queries, Blocked y Deadlocks se lee en tres líneas (en Blocked y Deadlocks, dentro de su sitio en el árbol):

  1. Identidad de la sesión: el estado y las insignias, seguidos de Application, Login, Database y Hostname, y el botón View Detail.
  2. Consumo y tiempos: CPU, Physical IO, Memory, Wait Type, Wait Time (en ms), Login Time y Last Batch.
  3. Query: una vista previa de una línea del texto que está ejecutando (el texto completo, formateado, está en View Detail).

Application, Login, Database y Hostname aparecen en ese mismo orden en todas las pestañas, para poder comparar filas de pestañas distintas sin buscar el campo.

Blocked ​

Las cadenas de bloqueo representadas como un árbol jerárquico: cada fila "cabeza" (la sesión bloqueante raíz de una cadena, sin nada por encima) puede desplegarse o colapsarse haciendo clic sobre ella, y las filas bloqueadas por ella aparecen sangradas debajo, en cascada si el bloqueo se propaga en varios niveles. La cabecera muestra una insignia con el número total de procesos bloqueados en toda la cadena, en cualquier nivel de profundidad — no solo los bloqueados directamente por ella.

Un deadlock aislado (uno que no tiene relación de bloqueo con ningún otro proceso visible en este snapshot) no tiene dónde anclarse en el árbol, así que aparece como una fila suelta independiente en esta misma pestaña, en lugar de agruparse bajo una cabecera.

Long Queries ​

Solo las sesiones activas (runnable o suspended) en más del 25% de los snapshots de la última hora — el mismo criterio que alimenta la tarjeta Long Queries de los KPIs.

Deadlocks ​

Cada ciclo de deadlock detectado se agrupa bajo su propia cabecera sintética "Deadlock 01", "Deadlock 02"… (una cabecera por ciclo, no una sesión real), con el mismo diseño de árbol y el mismo comportamiento de plegado que la pestaña Blocked — las sesiones que formaron parte de ese ciclo aparecen sangradas debajo de su cabecera.

TempDB Usage ​

Sesiones que están consumiendo espacio de TempDB en este momento, con su tamaño acumulado (Accumulated Size) y activo (Active Size) en MB. Esta tabla se captura con una cadencia distinta a la de procesos (aproximadamente cada 5 minutos), así que puede no reflejar exactamente el mismo instante que el resto de pestañas.

Insignias ​

Además del color de estado (ver tabla más abajo), cada fila puede llevar una o varias insignias independientes entre sí:

InsigniaColorCuándo aparece
Estado (Runnable, Suspended…)según estado, ver tabla siguienteSiempre — es el estado actual de la sesión.
active X of last 60 minLa sesión cumple el criterio de long query (activa en más del 25% de los snapshots de la última hora).
deadlockLa sesión participó en un ciclo de deadlock detectado.
blocked for XsLa fila está realmente bloqueada por otra (tiene un Blocked By distinto de cero) y lleva un tiempo de espera medible — aparece en cualquier pestaña, no solo en Blocked.
N blockedSolo en la fila cabeza de una cadena de bloqueo: número total de sesiones bloqueadas en toda la cadena.
primary blockerLa sesión no está bloqueada por nadie, pero bloquea directamente a al menos otra fila visible — puede aparecer en cualquier pestaña, no solo en Blocked.
Execution PlanSe capturó un plan de ejecución para esa sesión — aparece en cualquiera de las cinco pestañas.
AI SuggestionsLa query de esa sesión ya tiene sugerencias de optimización generadas por IA. Aparece en cualquiera de las cinco pestañas.

Colores por valor (estado de cada sesión):

ValorColorDescripción
RunnableSesión lista para ejecutar, esperando CPU.
SuspendedSesión esperando un recurso (lock, página, latch, I/O).
SleepingConexión abierta sin trabajo pendiente en este instante.
Running / Dormant / Background / Rollback / Pending / SpinloopEstados de transición o de proceso interno de SQL Server.

Ver Detalle ​

Cada fila tiene un botón ◈ View Detail que abre una ventana modal con la información completa de esa sesión:

  • Relaciones de bloqueo: si la sesión es la bloqueante principal, una insignia "primary blocker"; si está bloqueada por otra, un chip "Blocked by" con el SPID que la bloquea; si bloquea a otras, un chip "Blocking" listando sus SPIDs (hasta 5, con un "+N" si hay más).
  • Datos generales: una rejilla con todos los campos disponibles para esa sesión — Application, Login, Database, Hostname, Status, Command, Wait Type, Wait Time (ms), CPU, Physical IO, Memory Usage, Login Time, Last Batch y, para filas de TempDB Usage, Accumulated Size y Active Size. Los campos vacíos no se muestran.
  • Dos pestañas internas:
    • Query: el texto completo de la consulta, formateado e indentado (a diferencia del preview de una línea que se ve en la fila). En las filas de TempDB Usage, si el "Code Fragment" aporta información distinta al texto completo, se muestra también por separado.
    • Execution Plan: el plan de ejecución gráfico de la consulta, con un botón para copiar el XML del plan. Si no se capturó ningún plan para esa sesión, muestra el mensaje "No execution plan captured for this query."
    • AI Suggestions: solo aparece cuando la query de esa sesión tiene sugerencias de IA (las mismas que lleva la insignia AI Suggestions). Muestra, una debajo de otra, la AI Documented Query (la query con comentarios que explican cada parte), la AI Optimized Query (la versión propuesta) y las Recommendations, agrupadas en lo ya aplicado en la query optimizada y lo pendiente de aplicar. Cada bloque tiene su botón ⎘ Copy. El idioma lo elige la variable Comments.

Recomendación práctica

En la pestaña Blocked, empieza siempre por la fila marcada como bloqueador principal — es la única cuya resolución libera al resto de la cadena. En Deadlocks, abre el detalle de cada ciclo para ver el orden real de adquisición de recursos de cada sesión implicada; es la forma más fiable de decidir qué transacción reordenar para que no vuelva a ocurrir.