sp_add_jobschedule (Transact-SQL)

Создает расписание выполнения задания.

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

Синтаксис

sp_add_jobschedule [ @job_id = ] job_id, | [ @job_name = ] 'job_name', [ @name = ] 'name'
     [ , [ @enabled = ] enabled_flag ]
     [ , [ @freq_type = ] frequency_type ]
     [ , [ @freq_interval = ] frequency_interval ]
     [ , [ @freq_subday_type = ] frequency_subday_type ]
     [ , [ @freq_subday_interval = ] frequency_subday_interval ]
     [ , [ @freq_relative_interval = ] frequency_relative_interval ]
     [ , [ @freq_recurrence_factor = ] frequency_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 ]
     [ , [ @schedule_id = ] schedule_id OUTPUT ]

Аргументы

  • [ @job_id= ] job_id
    Идентификационный номер задания, которому добавляется расписание. Аргумент job_id имеет тип uniqueidentifier и не имеет значения по умолчанию.

  • [ @job_name= ] 'job_name'
    Имя задания, которому добавляется расписание. Аргумент job_name имеет тип nvarchar(128) и не имеет значения по умолчанию.

    ПримечаниеПримечание

    Обязательно должен быть задан один из аргументов, job_id или job_name, но не оба одновременно.

  • [ @name= ] 'name'
    Имя расписания. Аргумент name имеет тип nvarchar(128) и не имеет значения по умолчанию.

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

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

    Значение

    Описание

    1

    Однократно

    4

    Ежедневно

    8

    Еженедельно

    16

    Ежемесячно

    32

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

    64

    Выполняется при запуске службы агента SQL Server.

    128

    Запускается при простое компьютера.

  • [ @freq_interval= ] frequency_interval
    Дни, когда выполняется задание. frequency_interval имеет тип int и значение по умолчанию 0 и зависит от значения frequency_type, как указано в следующей таблице.

    Значение

    Действие

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

    Аргумент frequency_interval не используется.

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

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

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

    Значение аргумента frequency_interval равно одному или нескольким из следующих значений (связанных логическим оператором OR):

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

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

    4 = Вторник

    8 = Среда

    16 = Четверг

    32 = пятница

    64 = суббота

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

    Каждый frequency_interval день месяца.

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

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

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

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

    3 = вторник

    4 = среда

    5 = четверг

    6 = пятница

    7 = суббота

    8 = Ежедневно

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

    10 = выходной

    64 (при запуске службы агента SQL Server)

    Аргумент frequency_interval не используется.

    128

    Аргумент frequency_interval не используется.

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

    Значение

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

    0x1

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

    0x4

    Минуты

    0x8

    Часы

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

  • [ @freq_relative_interval= ] frequency_relative_interval
    Далее описывается аргумент frequency_interval, когда аргумент frequency_type имеет значение 32 (относительно ежемесячно).

    Аргумент frequency_relative_interval имеет тип int, не имеет значения по умолчанию и может принимать одно из следующих значений.

    Значение

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

    1

    Первая

    2

    Вторая

    4

    Третья

    8

    Четвертая

    16

    Последняя

    Аргумент frequency_relative_interval показывает вхождения интервалов. Например, если аргумент frequency_relative_interval имеет значение 2, аргумент frequency_type имеет значение 32 и аргумент frequency_interval имеет значение 3, планируемые задания будут выполняться каждый второй вторник месяца.

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

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

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

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

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

  • [ **@active_end_time=**active_end_time
    Время окончания выполнения задания — это время в любой день в промежутке между значениями аргументов active_start_date и active_end_date. Аргумент active_end_time имеет тип int и не имеет значения по умолчанию. Формат времени ЧЧMMСС в 24-часовом формате.

  • [ @schedule_id=schedule_idOUTPUT
    Идентификационный номер, присваиваемый учетной записи-посреднику после успешного создания. Аргумент schedule_id int — это выходная переменная типа со значением по умолчанию NULL.

  • [ @schedule_uid= ] schedule_uidOUTPUT
    Уникальный идентификатор для расписания. schedule_uid является переменной типа uniqueidentifier.

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

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

Результирующие наборы

Нет

Замечания

Расписанием задач теперь можно управлять независимо от них самих. Чтобы добавить расписание в задачу, создайте расписание с помощью процедуры sp_add_schedule и прикрепите его к задаче с помощью процедуры sp_attach_schedule.

Разрешения

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

  • SQLAgentUserRole

  • SQLAgentReaderRole

  • SQLAgentOperatorRole

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

См. также

Справочник

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

sp_add_schedule (Transact-SQL)

sp_update_schedule (Transact-SQL)

sp_delete_schedule (Transact-SQL)

sp_help_schedule (Transact-SQL)

sp_attach_schedule (Transact-SQL)

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

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

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

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