a) Tạo một chương trình hỗ trợ chạy qua danh sách các chương trình hỗ trợ với frequency
thích hợp giá trị, thực thi chúng và cập nhật lastrun
cột.
- Đưa ra đối số
@frequency
trong đó, chuyển nó ra bên ngoài. - Lọc danh sách proc của bạn bằng đối số này
- Lặp lại danh sách các procs với "tần suất" này và chạy các procs
ví dụ:
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) Tạo các công việc đã lên lịch để chạy chương trình này
-
Tạo công việc "CHUYÊN GIA HÀNG NGÀY" , hãy chỉ định lịch trình cho công việc này để công việc chạy hàng ngày.
Thêm bước công việc với T-SQL:
exec dbo.RunProcs @Frequency = 'day'
-
Tạo công việc "CHUYÊN MÔN HÀNG TUẦN" , chỉ định lịch trình cho công việc này để công việc chạy hàng tuần
Thêm bước công việc với T-SQL:
exec dbo.RunProcs @Frequency = 'week'
-
Tạo công việc "CHUYÊN VIÊN HÀNG THÁNG" , chỉ định lịch trình cho công việc này để công việc này chạy hàng tháng
Thêm bước công việc với T-SQL:
exec dbo.RunProcs @Frequency = 'month'