Como cambiar la programacion de un job cuando esta ejecutando el mismo: cambiar programacion de un job en tiempo de ejecucion
Job Auto-Programable
En esta ocasion contaremos una historia sobre como cambiar programacion de un job, un dia llego a mi puesto un compañero con un requerimiento, uno de esos que te deja pensativo, incluso sali a almorzar y pensado en el asunto de como poder ayudarle, bueno su pregunta fue esta….
«Como puedo hacer un proceso que se ejecute cada 15 minutos, ademas que pregunte si hay una informacion en una tabla, y cuando la encuentre simplemente deje de preguntar por la informacion«
Ya con el requerimiento dije un JOB en el agente sql que se ejecute cada 15 minutos esta facil, lo complejo es como le digo al JOB, «Ya por hoy no te ejecutes mas»
Luego de almorzar (Claro ya con la barriga llena uno piensa mejor?), se me vino una idea a la mente, claro cambiar la fecha de inicio del JOB hasta mañana, asi cada vez que el procesos este OK, simplemente se Auto-Agenda nuevamente el mismo (Que JOB mas inteligente), practicamente es un JOB con vida propia
Pasos para cambiar programacion de un job
Paso 1:
Crear un JOB para el ejemplo
Paso 2:
Darle un nombre a nuestro Job, en mi caso SQListoJobdePrueba
Paso 3:
Crear un paso en el job
Nuestro codigo
1 2 3 4 |
DECLARE @upd_date AS INT =FORMAT(getdate()+1, 'yyyyMMdd') EXEC [msdb].[dbo].[sp_update_schedule] @name = 'SQListo-Programacion-JOB', @active_start_date =@upd_date; |
Conclusiones
Con este proceso prodremos lograr cambiar la programacion establecidad, al mismo tiempo lograra ejecutar sus funciones, posteriormente luego de preguntar por los datos es afirmativo, entoces el mismo se cambia el calendario para comenzar el dia siguien, en consecuencia tendremos un JOB inteligente