Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Как да изпълнявате задания на SQL Server Agent, които са изброени в SQL таблица

a) Създайте процедура, която изпълнява списък от процедури с подходяща frequency стойност, изпълнява ги и актуализира lastrun колона.

  1. Направете аргумент @frequency в него, прекарайте го отвън.
  2. Филтрирайте вашия списък с процедури с този аргумент
  3. Прегледайте списъка с процедури с тази "честота" и изпълнете процедурите

напр.

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) Създайте планирани задачи за изпълнение на тази процедура

  1. Създайте задание „ДЕЙЛИ ПРОЦЕСИ“ , задайте график на тази задача, за да се изпълнява всеки ден.

    Добавете стъпка на работа с T-SQL:exec dbo.RunProcs @Frequency = 'day'

  2. Създайте работа „СЕДМИЧНИ ПРОЦЕДУРИ“ , задайте график на това задание, за да се изпълнява всяка седмица

    Добавете стъпка на работа с T-SQL:exec dbo.RunProcs @Frequency = 'week'

  3. Създайте работа „МЕСЕЧНИ ПРОЦЕДУРИ“ , задайте график на това задание, за да се изпълнява всеки месец

    Добавете стъпка на работа с T-SQL:exec dbo.RunProcs @Frequency = 'month'




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как съхранявате статични данни във вашия проект за база данни на SQL Server във VS 2012

  2. Как да потърся Xml стойности и атрибути от таблица в SQL Server?

  3. SQL Server CTE - Намиране на най-горния parentID за всяко дете?

  4. Как да изпълните тригер само когато се актуализира конкретна колона (SQL сървър)

  5. SQL НЯМА евентуални проблеми с производителността