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


sp_add_schedule (Transact-SQL)

Изменения: 17 ноября 2008 г.

Создает расписание, которое может использоваться любым количеством заданий.

Синтаксис

sp_add_schedule [ @schedule_name = ] 'schedule_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' ]
    [ , [ @schedule_uid = ] schedule_uid OUTPUT ]
    [ , [ @schedule_id = ] schedule_id OUTPUT ]
    [ , [ @originating_server = ] server_name ] /* internal */

Аргументы

  • [ @schedule_name = ] 'schedule_name'
    Имя расписания. Аргумент schedule_name имеет тип sysname и не имеет значения по умолчанию.
  • [ @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, значение по умолчанию 1 и зависит от значения аргумента 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

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

    0x4

    Минуты

    0x8

    Часы

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

    Значение Описание (единица)

    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, которое означает, что расписанием владеет его создатель.
  • [ @schedule_uid= ] schedule_uidOUTPUT
    Уникальный идентификатор расписания. Аргумент schedule_uid является переменной типа uniqueidentifier.
  • [ @schedule_id= ] schedule_idOUTPUT
    Идентификатор расписания. Аргумент schedule_id является переменной типа int.
  • [ @originating_server= ] server_name
    Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется.

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

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

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

Нет

Замечания

Среда SQL Server Management Studio обеспечивает доступный графический способ управления заданиями и рекомендуется для создания и управления инфраструктурой заданий.

Разрешения

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

  • SQLAgentUserRole
  • SQLAgentReaderRole
  • SQLAgentOperatorRole

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

Примеры

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

В следующем примере создается расписание с именем RunOnce. Расписание выполняется один раз, в 23:30 того дня, когда оно было создано.

USE msdb ;
GO

EXEC dbo.sp_add_schedule
    @schedule_name = N'RunOnce',
    @freq_type = 1,
    @active_start_time = 233000 ;

GO

Б. Создание расписания, присоединение расписания к нескольким заданиям

В следующем примере создается расписание с именем NightlyJobs. Задания, для которых используется это расписание, выполняются каждый день, когда время на сервере равно 01:00. В этом примере расписание назначается заданиям BackupDatabase и RunReports.

ms187320.note(ru-ru,SQL.90).gifПримечание.
Этот пример предполагает, что задания BackupDatabase и RunReports уже существуют.
USE msdb ;
GO

EXEC sp_add_schedule
    @schedule_name = N'NightlyJobs' ,
    @freq_type = 4,
    @freq_interval = 1,
    @active_start_time = 010000 ;
GO


EXEC sp_attach_schedule
   @job_name = N'BackupDatabase',
   @schedule_name = N'NightlyJobs' ;
GO

EXEC sp_attach_schedule
   @job_name = N'RunReports',
   @schedule_name = N'NightlyJobs' ;
GO

См. также

Справочник

sp_attach_schedule (Transact-SQL)
sp_detach_schedule (Transact-SQL)
sp_delete_schedule (Transact-SQL)

Справка и поддержка

Получение помощи по SQL Server 2005

Журнал изменений

Версия Журнал

17 ноября 2008 г.

Изменения
  • Добавлены сведения об аргументе @active_start_date.

12 декабря 2006 г.

Изменения
  • Добавлены разъяснения в описания аргументов @freq_subday_interval и @freq_relative_interval.

17 июля 2006 г.

Изменения
  • Удален параметр «Секунды» из списка возможных значений аргумента @freq_subday_type. Этот параметр не поддерживается.

14 апреля 2006 г.

Изменения
  • Исправлено значение по умолчанию аргумента @freq_interval с 0 на 1.