¿Cómo escribir un script para ver trabajos en ejecución en SQL Server con Hora de inicio del trabajo?
SELECT sj.name,
sja.run_requested_date,
CONVERT(VARCHAR(12), sja.stop_execution_date-sja.start_execution_date, 114) Duration
FROM msdb.dbo.sysjobactivity sja
INNER JOIN msdb.dbo.sysjobs sj
ON sja.job_id = sj.job_id
WHERE sja.run_requested_date IS NOT NULL
ORDER BY sja.run_requested_date desc;
sql-server
sql-server-agent
zerbug
fuente
fuente
Respuestas:
Publiqué una consulta hace un tiempo para obtener una lista de los trabajos actualmente en ejecución aquí .
Esto tiene el nombre del trabajo, la identificación del trabajo, la hora de inicio y en qué paso se está ejecutando. Si sigue el enlace de arriba, puede obtener más detalles sobre cómo se me ocurrió y qué más está disponible.
fuente
Me encontré con problemas en uno de mis servidores que consultaban las tablas de MSDB (también conocido como el código mencionado anteriormente), ya que uno de mis trabajos saldría corriendo, pero no fue así. Hay un procedimiento almacenado del sistema que devuelve el estado de ejecución, pero no se puede hacer una instrucción exec de inserción sin un error. Dentro de eso hay otro procedimiento almacenado del sistema que se puede usar con una instrucción exec de inserción.
Y la tabla para cargarlo:
fuente
Esto le dará el nombre del trabajo y la fecha y hora de ejecución, puede eliminar la fecha si solo desea ver el nombre y la hora en que se ejecuta.
fuente
Este script mostrará los trabajos que se están ejecutando actualmente, así como el paso que se está ejecutando actualmente:
fuente
Se devuelve el siguiente script:
fuente
Es un poco alrededor de las casas posiblemente, pero funciona.
fuente