Поделиться через


sp_update_schedule (Transact-SQL)

Изменяет установки для расписания агента SQL Server.

Применимо для следующих объектов: SQL Server (начиная с SQL Server 2008 до текущей версии).

Значок ссылки на раздел Cинтаксические обозначения в Transact-SQL

Синтаксис

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 ]

Аргументы

  • [ @schedule_id = ] schedule_id
    Идентификатор изменяемого расписания. Аргумент schedule_id имеет тип int и не имеет значения по умолчанию. Должен быть задан либо аргумент schedule_id, либо аргумент schedule_name.

  • [ @name = ] 'schedule_name'
    Имя изменяемого расписания. Аргумент schedule_nameимеет тип sysname и не имеет значения по умолчанию. Должен быть задан либо аргумент schedule_id, либо аргумент schedule_name.

  • [ @new_name= ] new_name
    Новое имя расписания. Аргумент new_name имеет тип sysname и значение по умолчанию NULL. Если значение аргумента new_name равно NULL, имя расписания не меняется.

  • [ @enabled = ] enabled
    Отображает текущее состояние расписания. Аргумент enabledимеет тип tinyint и значение по умолчанию 1 (включено). Если равно 0, расписание не включено. Когда расписание не включено, никакие задания не будут запускаться по расписанию.

  • [ @freq_type = ] freq_type
    Значение, указывающее, когда должно выполняться задание. Аргумент freq_type имеет тип int со значением по умолчанию 0 и может принимать одно из следующих значений.

    Значение

    Описание

    1

    Однократно

    4

    Ежедневно

    8

    Еженедельно

    16

    Ежемесячно

    32

    Ежемесячно в соответствии с аргументом freq interval

    64

    Запустить, когда запускается служба SQLServerAgent

    128

    Запускать, когда компьютер простаивает

  • [ @freq_interval = ] freq_interval
    Дни, когда выполняется задание. Аргумент freq_interval имеет тип int, значение по умолчанию 0, и зависит от значения freq_type.

    Значение аргумента freq_type

    Воздействие на аргумент freq_interval

    1 (однократно)

    Параметр freq_interval не используется.

    4 (ежедневно)

    Каждые freq_interval дней.

    8 (еженедельно)

    Значение аргумента freq_interval равно одному или нескольким таким значениям (комбинируется логическим оператором OR):

    1 = Воскресенье

    2 = Понедельник

    4 = Вторник

    8 = Среда

    16 = Четверг

    32 = пятница

    64 = суббота

    16 (ежемесячно)

    На freq_interval день месяца.

    32 (относительно ежемесячно)

    Аргумент freq_interval может иметь одно из следующих значений:

    1 = Воскресенье

    2 = Понедельник

    3 = вторник

    4 = среда

    5 = четверг

    6 = пятница

    7 = суббота

    8 = День

    9 = рабочий день

    10 = выходной

    64 (когда запускается служба SQLServerAgent)

    Параметр freq_interval не используется.

    128

    Параметр freq_interval не используется.

  • [ @freq_subday_type = ] freq_subday_type
    Задает единицы измерения для аргумента freq_subday_interval*.* Аргумент freq_subday_typeимеет тип int, значение по умолчанию 0 и может принимать одно из следующих значений.

    Значение

    Описание (единица измерения)

    0x1

    В указанное время

    0x2

    Секунды

    0x4

    Минуты

    0x8

    Часы

  • [ @freq_subday_interval = ] freq_subday_interval
    Число периодов аргумента freq_subday_type, которое должно пройти между выполнениями задания. Аргумент freq_subday_intervalимеет тип int и значение по умолчанию 0.

  • [ @freq_relative_interval = ] freq_relative_interval
    Периодичность задания freq_interval каждый месяц, если значение freq_interval равно 32 (по месячному расписанию). Аргумент freq_relative_intervalимеет тип int со значением по умолчанию 0 и может принимать одно из следующих значений.

    Значение

    Описание (единица измерения)

    1

    Первая

    2

    Вторая

    4

    Третья

    8

    Четвертая

    16

    Последняя

  • [ @freq_recurrence_factor = ] freq_recurrence_factor
    Число недель или месяцев между запланированными выполнениями задания. Аргумент freq_recurrence_factor используется, только если freq_type имеет значение 8, 16 или 32. Аргумент freq_recurrence_factorимеет тип int и значение по умолчанию 0.

  • [ @active_start_date = ] active_start_date
    Дата, когда может начаться выполнение задания. Аргумент active_start_dateимеет тип int и значение по умолчанию NULL, которое обозначает сегодняшнюю дату. Формат даты: ГГГГMMДД. Если значение аргумента active_start_date не равно NULL, дата должна быть равна или превышать 19900101.

    После создания расписания проверьте дату начала и убедитесь, что она задана правильно. Дополнительные сведения см. в подразделе «Планирование даты начала» раздела Создание и присоединение расписаний к заданиям.

  • [ @active_end_date = ] active_end_date
    Дата, когда может быть остановлено выполнение задания. Аргумент active_end_dateимеет тип int и значение по умолчанию 99991231, которое соответствует 31 декабря 9999 г. Используется формат ГГГГММДД.

  • [ @active_start_time = ] active_start_time
    Время в любой день в промежутке между значениями аргументов active_start_date и active_end_date, когда начинается выполнение задания. Аргумент active_start_timeимеет тип int и значение по умолчанию 000000, которое соответствует 00:00:00 в 24-часовом формате и должно вводиться в формате ЧЧММСС.

  • [ @active_end_time = ] active_end_time
    Время в любой день в промежутке между значениями аргументов active_start_date и active_end_date, когда заканчивается выполнение задания. Аргумент active_end_timeимеет тип int и значение по умолчанию 235959, которое соответствует 23:59:59 в 24-часовом формате и должно вводиться в формате ЧЧММСС.

  • [ @owner_login_name= ] 'owner_login_name']
    Имя сервера-участника, владеющего расписанием. Аргумент owner_login_name имеет тип sysname и значение по умолчанию NULL, которое означает, что расписанием владеет его создатель.

  • [ @automatic_post =] automatic_post
    Зарезервировано.

Значения кода возврата

0(успешное завершение) или 1 (неуспешное завершение)

Замечания

Все задания, которые используют расписание, немедленно используют новые установки. Однако изменение расписания не останавливает выполнение заданий.

Разрешения

По умолчанию эту хранимую процедуру могут выполнять члены предопределенной роли сервера sysadmin. Другим пользователям должна быть предоставлена одна из следующих предопределенных ролей базы данных агента SQL Server в базе данных msdb.

  • SQLAgentUserRole

  • SQLAgentReaderRole

  • SQLAgentOperatorRole.

Дополнительные сведения о разрешениях для этих ролей см. в разделе Предопределенные роли базы данных агента SQL Server.

Только члены роли sysadmin могут изменять расписания, владельцами которых являются другие пользователи.

Примеры

Следующий пример изменяет состояние расписания NightlyJobs на состояние 0 и устанавливает владельцем terrid.

USE msdb ;
GO

EXEC dbo.sp_update_schedule
    @name = 'NightlyJobs',
    @enabled = 0,
    @owner_login_name = 'terrid' ;
GO

См. также

Справочник

Хранимые процедуры агента SQL Server (Transact-SQL)

sp_add_schedule (Transact-SQL)

sp_add_jobschedule (Transact-SQL)

sp_delete_schedule (Transact-SQL)

sp_help_schedule (Transact-SQL)

sp_attach_schedule (Transact-SQL)

Основные понятия

Создание и присоединение расписаний к заданиям

Планирование задания

Создание расписания