Autour des jobs SQL Server

Scénario: 

Lors d'un projet de migration, j'ai été confronté au problème de pouvoir générer des jobs en masse via management Studio dans le but de les migrer dans un nouvel environnement SQL Server.
En plus, on liste différents moyens de manipuler les jobs (depuis Management Studio ou via script)

Solution : 

La solution est d'appuyer sur la touche F7,on pourra sélectionner plusieurs jobs et ainsi générer le script par un clic droit 'Script Job as'.


Démarrer/Arrêter un job

Arrêter un job (ou plusieurs via script uniquement)

USE msdb
GO                                                                  OU 
EXEC dbo.sp_stop_job
N'The name of the job'







Démarrer un job (ou plusieurs via script uniquement)


USE msdb
GO                                                                  OU 
EXEC dbo.sp_start_job
N'The name of the job'





Requête pour afficher des infos autour des jobs : durée d'exécution, nom, état ...


USE MSDB

SELECT SERVER
,NAME
,SJH.run_date
,run_time
,run_duration
,enabled
,CASE
WHEN SJH.run_status = 0
THEN 'Failed'
WHEN SJH.run_status = 1
THEN 'Succeeded'
WHEN SJH.run_status = 2
THEN 'Retry'
WHEN SJH.run_status = 3
THEN 'Cancelled'
ELSE 'Unknown'
END Job_result
,run_datetime = CONVERT(DATETIME, RTRIM(run_date))
,run_duration = SUBSTRING(RIGHT('000000' + CONVERT(VARCHAR(6), run_duration), 6), 1, 2) + ':' + SUBSTRING(RIGHT('000000' + CONVERT(VARCHAR(6), run_duration), 6), 3, 2) + ':' + SUBSTRING(RIGHT('000000' + CONVERT(VARCHAR(6), run_duration), 6), 5, 2)
,date_created
,date_modified
FROM sysjobhistory SJH
INNER JOIN sysjobs SJ ON SJH.job_id = sj.job_id
WHERE step_id = 0
AND DATEADD(S, (run_time / 10000) * 60 * 60 /* hours */
+ ((run_time - (run_time / 10000) * 10000) / 100) * 60 /* mins */
+ (run_time - (run_time / 100) * 100) /* secs */, CONVERT(DATETIME, RTRIM(run_date), 113)) >= DATEADD(d, - 1, GetDate())
ORDER BY NAME
,run_date
,run_time


Commentaires

Posts les plus consultés de ce blog

Comment calculer YTD, MTD en MDX - PeriodsToDate

Comment vérifier l'existence d'un fichier avant d'exécuter des tâches

Gestion de sécurité SSRS