sp_update_schedule (Transact-SQL)
Область применения: SQL Server
Изменяет параметры расписания агент SQL Server.
Соглашения о синтаксисе Transact-SQL
Синтаксис
sp_update_schedule
[ [ @schedule_id = ] schedule_id ]
[ , [ @name = ] N'name' ]
[ , [ @new_name = ] N'new_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 = ] N'owner_login_name' ]
[ , [ @automatic_post = ] automatic_post ]
[ ; ]
Аргументы
[ @schedule_id = ] schedule_id
Идентификатор изменяемого расписания. @schedule_id имеет значение int с значением по умолчаниюNULL
.
Необходимо указать либо @schedule_id, либо @name.
[ @name = ] N'name'
Имя изменяемого расписания. @name имеет имя sysname с значением по умолчаниюNULL
.
Необходимо указать либо @schedule_id, либо @name.
[ @new_name = ] N'new_name'
Новое имя расписания. @new_name — sysname с значением по умолчаниюNULL
. Если @new_name , NULL
имя расписания не изменяется.
[ @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-часовом режиме.
[ @owner_login_name = ] N'owner_login_name'
Имя сервера-участника, владеющего расписанием. @owner_login_name имеет имя sysname с значением по умолчаниюNULL
, указывающее, что расписание принадлежит создателю.
[ @automatic_post = ] automatic_post
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется.
Значения кода возврата
0
(успешно) или 1
(сбой).
Замечания
Все задания, которые используют расписание, немедленно используют новые установки. Однако изменение расписания не останавливает выполняемые в настоящее время задания.
Разрешения
Вы можете предоставить EXECUTE
разрешения для этой процедуры, но эти разрешения могут быть переопределены во время обновления SQL Server.
Другим пользователям необходимо предоставить одну из следующих агент SQL Server предопределенных ролей базы данных в msdb
базе данных:
- SQLAgentUserRole
- SQLAgentReaderRole
- SQLAgentOperatorRole
Дополнительные сведения о разрешениях этих ролей см. в разделе Предопределенные роли базы данных агента SQL Server.
Только члены sysadmin могут изменять расписание, принадлежаное другому пользователю.
Примеры
Следующий пример изменяет состояние расписания NightlyJobs
на состояние 0
и устанавливает владельцем terrid
.
USE msdb;
GO
EXEC dbo.sp_update_schedule
@name = 'NightlyJobs',
@enabled = 0,
@owner_login_name = 'terrid';
GO
Связанный контент
- Создание и присоединение расписаний к заданиям
- Планирование задания
- Create a Schedule
- агент SQL Server хранимые процедуры (Transact-SQL)
- sp_add_schedule (Transact-SQL)
- sp_add_jobschedule (Transact-SQL)
- sp_delete_schedule (Transact-SQL)
- sp_help_schedule (Transact-SQL)
- sp_attach_schedule (Transact-SQL)