Sql server - comment lister les jobs dts actifs et leurs planifications

0/5 (1 avis)

Snippet vu 11 856 fois - Téléchargée 28 fois

Contenu du snippet

SQL Server 2000 (ainsi que MSDE) permet de pouvoir planifier des taches planifiées, il peut être intéressant de lister ceux présents sur un serveur donné.
Voila donc un petit script rapide permettant de faire ceci.

Source / Exemple :


SELECT
	dbo.sysjobs.job_id,
	dbo.sysjobs.name AS NomJobDTS,
	dbo.sysjobs.enabled AS JobActif,
	dbo.sysjobs.description,
	dbo.sysjobschedules.name AS NomPlanification,
	dbo.sysjobschedules.enabled AS PlanificationActive,	
	LEFT(CAST(dbo.sysjobschedules.next_run_date AS VARCHAR(8)), 4)
	+'-'+
	SUBSTRING(CAST(dbo.sysjobschedules.next_run_date AS VARCHAR(8)), 5, 2)
	+'-'+
	RIGHT(CAST(dbo.sysjobschedules.next_run_date AS VARCHAR(8)), 2)
	+' '+
	LEFT(CAST(RIGHT((CAST('000000' AS VARCHAR(6)) + CAST(dbo.sysjobschedules.next_run_time AS VARCHAR(6))), 6) AS VARCHAR(6)), 2)
	+ ':' +
	SUBSTRING(CAST(RIGHT((CAST('000000' AS VARCHAR(6)) + CAST(dbo.sysjobschedules.next_run_time AS VARCHAR(6))), 6) AS VARCHAR(6)), 3, 2)
	+ ':' +
	RIGHT(CAST(RIGHT((CAST('000000' AS VARCHAR(6)) + CAST(dbo.sysjobschedules.next_run_time AS VARCHAR(6))), 6) AS VARCHAR(6)), 2)
		AS ProchaineExecution
FROM
	dbo.sysjobs
INNER JOIN dbo.sysjobschedules
	ON dbo.sysjobs.job_id = dbo.sysjobschedules.job_id

Conclusion :


Bon coding

Romelard Fabrice (Alias F___)

A voir également

Ajouter un commentaire Commentaire
apxa Messages postés 188 Date d'inscription mercredi 15 mai 2002 Statut Membre Dernière intervention 25 avril 2009
17 avril 2007 à 13:08
Salut,
Je suis en train de travailler sur un monitoring de job.
Hors il s'avère que dbo.sysjobschedules.next_run_date et dbo.sysjobschedules.next_run_time ne sont pas très fiables.
Y a t'il une procedure qui pourrait calculer la prochaine date d'execution ?
J'ai commencé le dev de ce calculateur mais c'est une usine a gaz.
Surtout que celui de sqlagent ressort des incohérences du genre :
une planification d'un job tout les 3 jours à partir d'aujourd'hui - 1 jours, aura pour prochaine execution aujourd'hui + 3 jours et non aujourd'hui + 2 jours.

Merci si tu as des infos pour utiliser celui de sqlagent.

Have Fun.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.