Compartir vía


dbo.sysjobactivity (Transact-SQL)

Se aplica a:SQL Server

Registra la actividad y el estado del trabajo de Agente SQL Server actuales. 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 Identificador 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); 

Consulte también

dbo.sysjobhistory (Transact-SQL)