a) Opret en proc, der kører gennem listen over procs med passende frequency
værdi, udfører dem og opdaterer lastrun
kolonne.
- Lav et argument
@frequency
i den, giv den udenfor. - Filtrer din proc-liste med dette argument
- Søg gennem listen over procedurer med denne "frekvens", og kør processer
f.eks.
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) Opret planlagte job for at køre denne proc
-
Opret et job "DAGLE PROCS" , tildel en tidsplan til dette job for at få det til at køre hver dag.
Tilføj et job-trin med T-SQL:
exec dbo.RunProcs @Frequency = 'day'
-
Opret et job "WEEKLY PROCS" , tildel en tidsplan til dette job for at få det til at køre hver uge
Tilføj et job-trin med T-SQL:
exec dbo.RunProcs @Frequency = 'week'
-
Opret et job "MÅNEDLIGE PROCS" , tildel en tidsplan til dette job for at få det til at køre hver måned
Tilføj et job-trin med T-SQL:
exec dbo.RunProcs @Frequency = 'month'