sp_add_jobschedule (Transact-SQL)
Область применения: SQL Server Управляемый экземпляр SQL Azure
Создает расписание для задания агент SQL Server.
Соглашения о синтаксисе Transact-SQL
Внимание
В Управляемом экземпляре Azure SQL в настоящее время поддерживается большинство функций агента SQL Server (но не все). Подробные сведения см. в статье Различия в T-SQL между Управляемым экземпляром SQL Azure и SQL Server.
Синтаксис
sp_add_jobschedule
[ [ @job_id = ] 'job_id' ]
[ , [ @job_name = ] N'job_name' ]
, [ @name = ] N'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 ]
[ , [ @schedule_id = ] schedule_id OUTPUT ]
[ , [ @automatic_post = ] automatic_post ]
[ , [ @schedule_uid = ] 'schedule_uid' OUTPUT ]
[ ; ]
Аргументы
[ @job_id = ] 'job_id'
Идентификационный номер задания, которому добавляется расписание. @job_id является уникальным идентификатором по умолчаниюNULL
.
Необходимо указать @job_id или @job_name, но их нельзя указать.
[ @job_name = ] N'job_name'
Имя задания, которому добавляется расписание. @job_name — sysname с значением по умолчаниюNULL
.
Необходимо указать @job_id или @job_name, но их нельзя указать.
[ @name = ] N'name'
Имя расписания. @name — sysname без значения по умолчанию.
[ @enabled = ] включен
Отображает текущее состояние расписания. @enabled имеет значение tinyint с значением по умолчанию 1
(включено). Если 0
расписание не включено. Если расписание отключено, задание не выполняется.
[ @freq_type = ] freq_type
Это значение указывает, когда должно выполняться задание. @freq_type является int и может быть одним из следующих значений:
значение | Описание |
---|---|
1 |
Однократно |
4 |
Ежедневно |
8 |
Weekly (Еженедельно); |
16 |
Ежемесячная |
32 |
Ежемесячно, относительно @freq_interval. |
64 |
Запустите, когда запускается служба агент SQL Server. |
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 (при запуске службы агент SQL Server) |
@freq_interval не используется. |
128 |
@freq_interval не используется. |
[ @freq_subday_type = ] freq_subday_type
Задает единицы для @freq_subday_interval. @freq_subday_type имеет значение int и может быть одним из следующих значений:
Значение | Описание (единица измерения) |
---|---|
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_type задано 32
значение (ежемесячное относительно).
@freq_relative_interval является int и может быть одним из следующих значений:
Значение | Описание (единица измерения) |
---|---|
1 |
First |
2 |
Second |
4 |
Третья |
8 |
Четвертая |
16 |
Last |
@freq_relative_interval указывает на вхождения интервала. Например, если для @freq_relative_interval 2
задано значение , @freq_type задано 32
значение , а для @freq_interval задано 3
значение , запланированное задание будет выполняться во второй вторник каждого месяца.
[ @freq_recurrence_factor = ] freq_recurrence_factor
Число недель или месяцев между запланированными выполнениями задания. @freq_recurrence_factor имеет значение int с значением по умолчанию0
. @freq_recurrence_factor используется только в том случае, если для @freq_type задано 8
значение , 16
или 32
.
[ @active_start_date = ] active_start_date
Дата начала выполнения задания. @active_start_date имеет значение int с значением по умолчаниюNULL
. Дата форматируется как yyyyMMdd
. Если задано @active_start_date , дата должна быть больше или равна 19900101
.
После создания расписания просмотрите дату начала и убедитесь, что это правильная дата. Дополнительные сведения см. в разделе "Планирование даты начала" в разделе "Создание и присоединение расписаний к заданиям".
[ @active_end_date = ] active_end_date
Дата остановки выполнения задания. @active_end_date имеет значение int с значением по умолчанию99991231
. Дата форматируется как yyyyMMdd
.
[ @active_start_time = ] active_start_time
Время в любой день между @active_start_date и @active_end_date , чтобы начать выполнение задания. @active_start_time имеет значение int с значением по умолчанию000000
. Время отформатировано как HHmmss
в 24-часовом режиме.
[ @active_end_time = ] active_end_time
Время в любой день между active_start_date и @active_end_date завершения выполнения задания. @active_end_time имеет значение int с значением по умолчанию235959
. Время отформатировано как HHmmss
в 24-часовом режиме.
[ @schedule_id = ] schedule_id OUTPUT
Запланируйте идентификационный номер, назначенный расписанию, если он успешно создан. @schedule_id — это параметр OUTPUT типа int.
[ @automatic_post = ] automatic_post
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется.
[ = ] @schedule_uid "schedule_uid" OUTPUT
Уникальный идентификатор для расписания. @schedule_uid — это параметр OUTPUT типа uniqueidentifier.
Значения кода возврата
0
(успешно) или 1
(сбой).
Результирующий набор
Нет.
Замечания
Расписанием задач теперь можно управлять независимо от них самих. Чтобы добавить расписание в задание, используйте sp_add_schedule
для создания расписания и sp_attach_schedule
присоединения расписания к заданию.
Разрешения
Эта хранимая процедура принадлежит роли db_owner . Вы можете предоставить EXECUTE
разрешения для любого пользователя, но эти разрешения могут быть переопределены во время обновления SQL Server.
Другим пользователям необходимо предоставить одну из следующих агент SQL Server предопределенных ролей базы данных в msdb
базе данных:
- SQLAgentUserRole
- SQLAgentReaderRole
- SQLAgentOperatorRole
Дополнительные сведения о разрешениях этих ролей см. в разделе Предопределенные роли базы данных агента SQL Server.
Примеры
В следующем примере назначается расписание SaturdayReports
заданий, которое выполняется каждую субботу в 2:00.
EXEC msdb.dbo.sp_add_jobschedule
@job_name = N'SaturdayReports', -- Job name
@name = N'Weekly_Sat_2AM', -- Schedule name
@freq_type = 8, -- Weekly
@freq_interval = 64, -- Saturday
@freq_recurrence_factor = 1, -- every week
@active_start_time = 20000 -- 2:00 AM
Связанный контент
- Создание и присоединение расписаний к заданиям
- Планирование задания
- Create a Schedule
- агент 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)