a) Utwórz proc, który przechodzi przez listę proc z odpowiednią frequency
wartości, wykonuje je i aktualizuje lastrun
kolumna.
- Ustaw argument
@frequency
w nim, przekaż go na zewnątrz. - Przefiltruj swoją listę proc za pomocą tego argumentu
- Przeglądaj listę procesów z tą „częstotliwością” i uruchamiaj procesy
np.
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) Utwórz zaplanowane zadania, aby uruchomić ten proces
-
Utwórz ofertę pracy „DAILY PROCS” , przypisz harmonogram do tego zadania, aby było uruchamiane codziennie.
Dodaj krok zadania za pomocą T-SQL:
exec dbo.RunProcs @Frequency = 'day'
-
Utwórz ofertę pracy „TYGODNIOWE PROCESY” , przypisz harmonogram do tego zadania, aby było uruchamiane co tydzień
Dodaj krok zadania za pomocą T-SQL:
exec dbo.RunProcs @Frequency = 'week'
-
Utwórz ofertę pracy „MIESIĘCZNE PROCESY” , przypisz harmonogram do tego zadania, aby było uruchamiane co miesiąc
Dodaj krok zadania za pomocą T-SQL:
exec dbo.RunProcs @Frequency = 'month'