a) Cree un proceso que se ejecute a través de la lista de procesos con la frequency
adecuada value, los ejecuta y actualiza lastrun
columna.
- Haz un argumento
@frequency
en él, páselo desde afuera. - Filtre su lista de procesos con este argumento
- Recorra la lista de procesos con esta "frecuencia" y ejecute procesos
por ejemplo
alter proc dbo.RunProcs
@Frequency varchar(50)
as
begin
declare @crProcs cursor
set @crProcs = cursor fast_forward for
select m.ProcName
from dbo.Maintainance m
where m.Frequency = @Frequency
order by 1
...
while @@fetch_status = 0
beign
begin try
exec @ProcName
...
update -> succeded
...
end try
begin catch
...
update -> failed
...
end catch
fetch ...
end
return 1
end
b) Crear trabajos programados para ejecutar este proceso
-
Crear un trabajo "PROCESOS DIARIOS" , asigne un horario a este trabajo para que se ejecute todos los días.
Agregue un paso de trabajo con T-SQL:
exec dbo.RunProcs @Frequency = 'day'
-
Crear un trabajo "PROCESOS SEMANALES" , asigne un horario a este trabajo para que se ejecute todas las semanas
Agregue un paso de trabajo con T-SQL:
exec dbo.RunProcs @Frequency = 'week'
-
Crear un trabajo "PROCESOS MENSUALES" , asigne una programación a este trabajo para que se ejecute todos los meses
Agregue un paso de trabajo con T-SQL:
exec dbo.RunProcs @Frequency = 'month'