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


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 и не имеет значения по умолчанию.

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

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

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

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

Нет

Замечания

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

Разрешения

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

  • SQLAgentUserRole

  • SQLAgentReaderRole

  • SQLAgentOperatorRole

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