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

Промяна на график на агент на SQL Server (T-SQL)

Графиците на SQL Server Agent могат да се управляват независимо от заданията. Това означава, че можете да актуализирате графика директно, без да актуализирате самото задание.

Можете да направите това с sp_update_schedule съхранена процедура.

Пример

Създайте график

Първо, нека създадем график:

EXEC sp_add_schedule 
    @schedule_name = N'Weekly_Sat_1AM',
    @freq_type = 8,
    @freq_interval = 64,
    @freq_recurrence_factor = 1,
    @active_start_time = 10000;

Вече можем да използваме sp_update_schedule за да промените този график.

Актуализиране на графика

Ето пример за актуализиране на графика, който току-що създадохме.

EXEC sp_update_schedule 
    @name = N'Weekly_Sat_1AM',
    @new_name = N'Weekly_Sun_4AM',
    @freq_type = 8,
    @freq_interval = 1,
    @freq_recurrence_factor = 1,
    @active_start_time = 40000;

В този случай промених името на графика, както и честотния интервал и началния час.

Обърнете внимание, че sp_update_schedule променя само тези настройки, за които са предоставени стойности на параметрите. Ако параметърът е пропуснат, текущата настройка се запазва.

Следователно, тъй като някои от нашите настройки останаха същите (по-конкретно, @freq_type и @freq_recurrence_factor ), бихме могли да пропуснем тези параметри изобщо.

Като това:

EXEC sp_update_schedule 
    @name = N'Weekly_Sat_1AM',
    @new_name = N'Weekly_Sun_4AM',
    @freq_interval = 1,
    @active_start_time = 40000;

Деактивиране на график

Можете да зададете @enabled до 0 за да деактивирате график.

Пример:

EXEC sp_update_schedule 
    @name = N'Weekly_Sun_4AM',
    @new_name = N'Weekly_Sun_4AM (DISABLED)',
    @enabled = 0;

В този пример също промених името, за да стане ясно, че заданието е деактивирано.

Проверете графика

Можете да използвате sp_help_schedule за да видите текущите настройки на график.

Можете да го използвате със или без параметри. Когато се използва без параметри, той връща всички графици.

EXEC sp_help_schedule;

Ако искате да видите подробностите само за един график, можете да предоставите името или идентификатора на графика.

Като това:

EXEC sp_help_schedule 
	@schedule_name = 'Weekly_Sun_4AM';

Въпреки че, когато предоставяте името, ще трябва да запомните фамилното име, което сте дали на графика. В нашия случай, ако изпълним тази процедура след предишния пример (когато сме деактивирали графика), ще трябва да направим това:

EXEC sp_help_schedule 
	@schedule_name = 'Weekly_Sun_4AM (DISABLED)';

Идентификационният номер на графика обаче остава постоянен, така че можете да го използвате независимо от името на графика.

Пример:

EXEC sp_help_schedule 
	@schedule_id = 16;

Когато използвате идентификатора, можете да пропуснете името на параметъра, ако желаете.

Пример:

EXEC sp_help_schedule 16;

Какво се случва с работни места, които използват модифицирания график?

Всички задания, които използват графика, незабавно използват новите настройки. Промяната на график обаче не спира заданията, които се изпълняват в момента.

Пълен синтаксис

Пълният синтаксис на sp_update_schedule става така:

sp_update_schedule   
    {   [ @schedule_id = ] schedule_id   
      | [ @name = ] 'schedule_name' }  
    [ , [ @new_name = ] new_name ]  
    [ , [ @enabled = ] enabled ]  
    [ , [ @freq_type = ] freq_type ]  
    [ , [ @freq_interval = ] freq_interval ]   
    [ , [ @freq_subday_type = ] freq_subday_type ]   
    [ , [ @freq_subday_interval = ] freq_subday_interval ]   
    [ , [ @freq_relative_interval = ] freq_relative_interval ]   
    [ , [ @freq_recurrence_factor = ] freq_recurrence_factor ]   
    [ , [ @active_start_date = ] active_start_date ]   
    [ , [ @active_end_date = ] active_end_date ]   
    [ , [ @active_start_time = ] active_start_time ]   
    [ , [ @active_end_time = ] active_end_time ]   
    [ , [ @owner_login_name = ] 'owner_login_name' ]  
    [ , [ @automatic_post =] automatic_post ]

Вижте документацията на Microsoft за sp_update_schedule за обяснение на всеки параметър, както и стойностите, които всеки приема.


  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 таблици

  2. Как да видя пълното съдържание на текстова или varchar(MAX) колона в SQL Server 2008 Management Studio?

  3. Измервате ли производителността на SQL Server с тези показатели?

  4. newid() вътре в sql сървърната функция

  5. Как да направите база данни онлайн от режим на възстановяване в SQL Server