comment écrire un script pour voir les travaux en cours d'exécution dans SQL Server avec l'heure de début du travail?
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
la source
la source
Réponses:
J'ai posté une requête il y a quelque temps pour obtenir une liste des travaux en cours d'exécution ici .
Il s'agit du nom du travail, de l'ID du travail, de l'heure de début et de l'étape à laquelle il s'exécute. Si vous suivez le lien ci-dessus, vous pouvez obtenir plus de détails sur la façon dont je l'ai conçu et sur les autres options disponibles.
la source
J'ai rencontré des problèmes sur l'un de mes serveurs pour interroger les tables MSDB (alias le code répertorié ci-dessus) car l'un de mes travaux était en cours d'exécution, mais ce n'était pas le cas. Il existe une procédure stockée système qui renvoie l'état d'exécution, mais on ne peut pas faire une instruction d'insertion exec sans erreur. À l'intérieur se trouve une autre procédure stockée système qui peut être utilisée avec une instruction d'insertion exec.
Et la table pour le charger dans:
la source
Cela vous donnera le nom du travail et la date et l'heure d'exécution, vous pouvez supprimer la date si vous voulez simplement voir le nom et l'heure d'exécution.
la source
Ce script affichera les travaux en cours d'exécution, ainsi que l'étape en cours d'exécution:
la source
Le script suivant renvoie:
la source
C'est peut-être un peu autour des maisons mais fait l'affaire
la source