J'avais utilisé le SQL suivant pour listr tous les travaux sans date d'arrêt. J'ai pensé que je pourrais utiliser ceci pour find tous les travaux actifs. Ce que j'ai remarqué est que j'ai un certain nombre de travaux dans cette table avec un stop_execution_date nul. Certains travaux identiques (même job_id) sont répétés plusieurs fois dans cette table.
select job.*, activity.* from msdb.dbo.sysjobs_view job inner join msdb.dbo.sysjobactivity activity on (job.job_id = activity.job_id) where run_Requested_date is not null and stop_execution_date is null
Lorsque EXEC msdb.dbo.sp_help_job
sur ces travaux, je vois qu'ils ont le statut d'exécution en cours d'inactivité.
Que représentent ces emplois? Est-ce le comportement lorsque les emplois ne sont pas tués correctement?
Chaque fois que l'agent SQL démarre, il place une nouvelle ligne dans syssessions et, par conséquent, toutes les tâches exécutées obtiendront cette session_id dans sysjobactivity. Pour mes travaux qui ont une date d'arrêt nulle, je suppose qu'ils ne sont pas pour la session "en cours" ce qui signifierait qu'ils étaient toujours en cours d'exécution lorsque l'agent a été arrêté.