Comment obtenir la dernière exécution des détails de la tâche en SQL
Comment obtenir la dernière exécution des détails du travail de l'Agent SQL Server à l'aide de SQL, y compris les détails de l'étape seulement pour la dernière exécution du travail (le travail de résultat) que je veux afficher dans une application
S'il vous plaît aider été coincé sur depuis bien longtemps
C'est le code que j'ai été en utilisant ci-dessous, qui ramène toutes les étapes pour tous les Emplois dans l'Histoire de Job,
Cependant, je veux juste voir les étapes de la dernier exécuter le travail
grâce
USE msdb
Go
SELECT j.name JobName,h.step_name StepName,
CONVERT(CHAR(10), CAST(STR(h.run_date,8, 0) AS dateTIME), 111) RunDate,
STUFF(STUFF(RIGHT('000000' + CAST ( h.run_time AS VARCHAR(6 ) ) ,6),5,0,':'),3,0,':') RunTime,
h.run_duration StepDuration,
case h.run_status when 0 then 'Failed'
when 1 then 'Succeeded'
when 2 then 'Retry'
when 3 then 'Cancelled'
when 4 then 'In Progress'
end as ExecutionStatus,
h.message MessageGenerated
FROM sysjobhistory h
inner join sysjobs j
ON j.job_id = h.job_id
LEFT JOIN (
SELECT
[job_id]
, [run_date]
, [run_time]
, [run_status]
, [run_duration]
, [message]
, ROW_NUMBER() OVER (
PARTITION BY [job_id]
ORDER BY [run_date] DESC, [run_time] DESC
) AS RowNumber
FROM [msdb].[dbo].[sysjobhistory]
WHERE [step_id] = 0
) AS [sJOBH]
ON j.[job_id] = [sJOBH].[job_id]
AND [sJOBH].[RowNumber] = 1
where j.job_id = 'F04E5D3B-C873-448A-805C-C6309A92DAEC'
ORDER BY j.name, h.run_date, h.run_time desc
GO
Vous pouvez vous joindre à cette requête avec un autre qui fait un Max(last_run_date), groupying par votre nom de la tâche. Ensuite, votre clause de jointure pourrait rejoindre sur le travail, et aussi la last_run_date
OriginalL'auteur neeko | 2014-01-23
Vous devez vous connecter pour publier un commentaire.
Espérons que cette aide,
Jointure supplémentaire à la base de données msdb.dbo.sysjobactivity vous montre le début/la fin des temps, à un niveau d'emploi. À l'aide de cette gamme, vous pouvez spécifier uniquement vous montrer les étapes de travail pour la plus récente.
Edit: Ajout de deux paramètres vers le haut, @job_id et @job_name. Si @job_id n'est pas fourni, tout d'abord, il va tenter de déterminer le job_id de l' @job_name fourni, et de retour de la dernière exécution du travail est l'absence de valeurs sont fournis.
OriginalL'auteur deeg