dbo.sysjobactivity (Transact-SQL)
Se aplica a: SQL Server
Registra la actividad y el estado actuales Agente SQL Server trabajo. Esta tabla se almacena en la base de datos msdb.
Nombre de la columna | Tipo de datos | Descripción |
---|---|---|
session_id | int | Identificador de la sesión almacenada en la tabla syssessions de la base de datos msdb . |
job_id | uniqueidentifier | Id. del trabajo. |
run_requested_date | datetime | Fecha y hora en que se solicitó la ejecución del trabajo. |
run_requested_source | sysname(nvarchar(128)) | Solicitante de la ejecución del trabajo. 1 = SOURCE_SCHEDULER 2 = SOURCE_ALERTER 3 = SOURCE_BOOT 4 = SOURCE_USER 6 = SOURCE_ON_IDLE_SCHEDULE |
queued_date | datetime | Fecha y hora en que el trabajo se puso en cola. Si el trabajo se ejecuta directamente, esta columna es NULL. |
start_execution_date | datetime | Fecha y hora de la programación de la ejecución del trabajo. |
last_executed_step_id | int | Id. del último paso de trabajo que se ejecutó. |
last_executed_step_ date |
datetime | Fecha y hora en que empezó a ejecutarse el último paso de trabajo. |
stop_execution_date | datetime | Fecha y hora de finalización de la ejecución del trabajo. |
job_history_id | int | Se usa para identificar una fila en la tabla sysjobhistory . |
next_scheduled_run_date | datetime | Siguiente fecha y hora en que se ha programado la ejecución del trabajo. |
Ejemplo
En este ejemplo se devolverá el estado en tiempo de ejecución de todos los trabajos de Agente SQL Server. Ejecute el siguiente Transact-SQL en SQL Server Management Studio.
SELECT sj.Name,
CASE
WHEN sja.start_execution_date IS NULL THEN 'Not running'
WHEN sja.start_execution_date IS NOT NULL AND sja.stop_execution_date IS NULL THEN 'Running'
WHEN sja.start_execution_date IS NOT NULL AND sja.stop_execution_date IS NOT NULL THEN 'Not running'
END AS 'RunStatus'
FROM msdb.dbo.sysjobs sj
JOIN msdb.dbo.sysjobactivity sja
ON sj.job_id = sja.job_id
WHERE session_id = (
SELECT MAX(session_id) FROM msdb.dbo.sysjobactivity);