sp_add_schedule (Transact-SQL)
Создает расписание, которое может использоваться любым числом заданий.
Синтаксис
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
В указанное время
0x2
Секунд
0x4
Минуты
0x8
Часов
[ @freq_subday_interval = ] freq_subday_interval
Количество периодов freq_subday_type, которое должно пройти между выполнениями задания. Аргумент freq_subday_interval имеет тип int и значение по умолчанию 0. Аргумент freq_subday_interval не используется, если аргумент freq_subday_type равен 1. Указанный интервал должен превышать 10 секунд.[ @freq_relative_interval = ] freq_relative_interval
Количество повторов задачи в периодах freq_interval в каждом месяце, если значение аргумента freq_interval равно 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.
Примечание |
---|
Этот пример предполагает, что задания 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
См. также
Задания
Справочник
Основные понятия
Журнал изменений
Обновленное содержимое |
---|
В описание параметра даты начала включены сведения о подтверждении даты начала после создания расписания. |