Skip to content

SQL Server Job Status

1. Detailed MetricsSQL Server

UID: sql_server_job_statusVersion: 1.3.1 Paneles: ~14

Proposito

Este dashboard proporciona visibilidad completa de las ejecuciones de SQL Server Agent Jobs, incluyendo:

  • Jobs fallidos, cancelados y de larga duracion
  • Jobs actualmente en ejecucion
  • Datos historicos de ejecucion para identificar tendencias
  • Desviaciones de rendimiento e issues recurrentes

SQL Server Agent es el componente de programacion de tareas integrado en SQL Server que permite automatizar tareas administrativas, mantenimiento de bases de datos, y procesos de negocio criticos. Para mas informacion, consulte la documentacion oficial de SQL Server Agent.

Variables

VariableDescripcion
$Server_NameServidor SQL Server a monitorizar
$JobJob especifico o multiples jobs a filtrar

Codigo de Colores

ColorCodigoSignificado
Verde#00db88Success - Ejecucion exitosa
Magenta#ad21d8e8To Check - Revisar
Rojo#F2495CFailed - Ejecucion fallida
Amarillo#FFFF00Running - En ejecucion
Naranja#FF780ACancelled - Cancelado

Paneles

Running Jobs

Running Jobs logs

Jobs que se encuentran actualmente en ejecucion.

Importancia: Conocer los jobs en ejecucion es fundamental para evitar conflictos de recursos. Multiples jobs ejecutandose simultaneamente pueden competir por CPU, memoria e I/O, degradando el rendimiento general del servidor. Tambien ayuda a identificar jobs que deberian haber terminado pero siguen activos.


Running Jobs Exceeding Duration

Jobs Exceed Normal Duration logs

Jobs en ejecucion que exceden su duracion habitual.

Importancia: Un job que excede su duracion normal es una senal de alerta temprana de problemas subyacentes. Puede indicar bloqueos, contension de recursos, crecimiento inesperado de datos o degradacion del rendimiento. Detectar estas anomalias rapidamente permite intervenir antes de que afecten a otros procesos o usuarios.

Jobs de larga duracion

Un job que excede su duracion normal puede indicar:

  • Bloqueos en la base de datos
  • Crecimiento inesperado de datos
  • Problemas de rendimiento subyacentes

Job Executions Summary

Job Executions stat

Resumen de ejecuciones en el periodo seleccionado.

Metricas mostradas:

  • Successful Executions: Numero de jobs ejecutados correctamente
  • Failed Executions: Numero de jobs fallidos
  • Cancelled Steps: Numero de pasos cancelados
  • Failed Steps: Numero de pasos fallidos

Importancia: Este resumen proporciona una vision rapida de la salud operacional. Los jobs fallidos pueden significar backups incompletos, ETL rotos, o mantenimiento no ejecutado. Cada fallo tiene potencial impacto en la integridad de datos, SLAs de negocio o cumplimiento regulatorio.

Umbrales:

MetricaValorColor
Failed Executions>= 1Rojo
Cancelled Steps>= 1Magenta
Failed Steps>= 1Magenta

Jobs Enabled/Disabled

Jobs Enabled stat

Numero de jobs habilitados en el servidor.

Importancia: Monitorizar el numero de jobs habilitados ayuda a detectar cambios no autorizados en la configuracion. Un job deshabilitado accidentalmente puede resultar en backups no realizados, datos no procesados o reportes no generados.


Jobs Disabled stat

Numero de jobs deshabilitados en el servidor.

Importancia: Jobs deshabilitados deben ser revisados periodicamente. Pueden ser jobs obsoletos que deben eliminarse, o jobs criticos deshabilitados temporalmente que nunca se reactivaron. Mantener un inventario limpio mejora la mantenibilidad del sistema.


Job History Table

Job History table

Historial de ejecucion de jobs en el periodo de tiempo seleccionado.

Columnas:

  • Job Name
  • Step
  • Status
  • Execution Date
  • Duration

Importancia: El historial detallado permite analizar tendencias, identificar patrones de fallos recurrentes, y establecer baselines de duracion normal. Es esencial para auditorias y para demostrar cumplimiento de SLAs.

Mapeo de estados:

EstadoColor
SuccessVerde
RunningAmarillo
CancelledNaranja
FailedRojo

Usually Failed Jobs

Usually Failed Jobs table

Jobs que fallan frecuentemente (patron de fallos recurrentes).

Importancia: Los jobs con fallos recurrentes representan deuda tecnica que debe abordarse. Cada fallo consume tiempo de administracion, genera alertas innecesarias (alert fatigue), y puede enmascarar problemas mas graves. Resolver estos jobs mejora la confiabilidad general del sistema.

Jobs que fallan recurrentemente

Los jobs que fallan de forma consistente deben investigarse inmediatamente. Pueden indicar:

  • Configuracion incorrecta
  • Permisos insuficientes
  • Dependencias rotas
  • Problemas de conectividad

Success vs Failed Chart

Success vs Failed timeseries

Grafico de evolucion de ejecuciones exitosas vs fallidas.

Importancia: La visualizacion temporal permite identificar correlaciones entre fallos y eventos especificos (despliegues, cambios de configuracion, picos de carga). Tambien ayuda a detectar degradacion gradual del sistema antes de que se convierta en un problema critico.


Guia de Interpretacion

Prioridades de Investigacion

SituacionPrioridadAccion
Job fallidoAltaRevisar logs de error inmediatamente
Job excede duracionMediaInvestigar bloqueos y rendimiento
Job canceladoMediaDeterminar si fue intencional
Patron de fallosAltaAnalisis de causa raiz

Metricas Clave

KPIObjetivoInterpretacion
Success Rate> 99%Estabilidad de operaciones
Failed Executions0Cada fallo requiere investigacion
Duration Exceeded0Sin jobs bloqueados

Vistas Utilizadas

VistaDescripcion
[JobStatus].[vwRunningJobs]Jobs actualmente en ejecucion
[JobStatus].[vwRunningExceedDuration]Jobs que exceden duracion normal
[JobStatus].[vwCountStatus]Conteo de estados de ejecucion
[JobStatus].vwJobsEnabledCantidad de jobs habilitados
[JobStatus].[vwJobsDisabled]Cantidad de jobs deshabilitados

Mejores Practicas para SQL Server Agent Jobs

Configuracion de Jobs

  • Documentar el proposito: Cada job debe tener una descripcion clara de su funcion y propietario
  • Categoria apropiada: Asignar jobs a categorias logicas facilita la administracion y el filtrado
  • Cuenta de ejecucion: Usar cuentas de servicio con privilegios minimos necesarios (principio de least privilege)
  • Programacion coherente: Evitar solapamientos de jobs que compitan por los mismos recursos
  • Timeouts: Configurar limites de tiempo razonables para evitar jobs que se ejecuten indefinidamente

Configuracion de Notificaciones

  • Notificar en fallos: Configurar alertas por email o evento para fallos de jobs criticos
  • Operadores definidos: Mantener operadores actualizados con direcciones de correo validas
  • Escalar apropiadamente: Configurar notificaciones escalonadas para fallos repetidos
  • Evitar sobre-notificacion: No notificar exitos rutinarios para prevenir alert fatigue

Manejo de Errores

  • Accion ante fallo: Definir si el job debe continuar o detenerse al fallar un paso
  • Reintentos automaticos: Configurar reintentos para errores transitorios (conectividad, bloqueos)
  • Intervalo entre reintentos: Espaciar reintentos para permitir recuperacion del sistema
  • Logging detallado: Habilitar logging suficiente para diagnostico sin impactar rendimiento

Mantenimiento de Jobs

  • Revision periodica: Auditar jobs mensualmente para eliminar obsoletos
  • Actualizacion de credenciales: Rotar passwords de cuentas de servicio segun politicas
  • Pruebas post-cambios: Validar jobs despues de actualizaciones de SQL Server o cambios de esquema
  • Control de versiones: Documentar cambios en jobs criticos con fecha y responsable

Estrategias de Troubleshooting

Job Fallido

  1. Revisar el mensaje de error en el historial del job (Job Activity Monitor o msdb.dbo.sysjobhistory)
  2. Verificar permisos de la cuenta de servicio en todos los recursos accedidos
  3. Comprobar conectividad si el job accede a recursos externos (linked servers, archivos de red)
  4. Revisar espacio en disco si involucra escritura de archivos o backups
  5. Verificar estado de servicios dependientes (SQL Server Agent, servicios externos)
  6. Revisar cambios recientes en el servidor o en la base de datos afectada

Job con Duracion Excedida

  1. Verificar bloqueos activos usando sp_who2 o sys.dm_exec_requests
  2. Revisar el plan de ejecucion para identificar operaciones costosas
  3. Comprobar estadisticas y fragmentacion de indices en tablas involucradas
  4. Analizar crecimiento de datos desde ultima ejecucion normal
  5. Verificar recursos del servidor (CPU, memoria, I/O) durante la ejecucion
  6. Comparar con ejecuciones anteriores para identificar cambios de comportamiento

Job Cancelado Inesperadamente

  1. Revisar quien cancelo el job (SQL Server Error Log, Event Viewer)
  2. Verificar si hubo reinicio del servicio SQL Server Agent
  3. Comprobar failover en entornos de alta disponibilidad (Always On, Clustering)
  4. Revisar politicas de timeout configuradas en el job
  5. Verificar scripts de mantenimiento que puedan cancelar jobs

Jobs con Fallos Recurrentes

  1. Identificar patron: mismo error, misma hora, mismo dia de semana
  2. Correlacionar con eventos: backups, reindexacion, picos de uso
  3. Revisar dependencias: stored procedures, linked servers, archivos
  4. Analizar logs historicos para encontrar cuando comenzo el problema
  5. Probar en ambiente controlado si es posible reproducir el error
  6. Escalar a desarrollo si el problema esta en el codigo del job

Referencias de Microsoft

Para profundizar en la administracion y troubleshooting de SQL Server Agent, consulte la documentacion oficial: