sp_attach_schedule (Transact-SQL)
Назначает расписание выполнения задания.
Синтаксис
sp_attach_schedule
{ [ @job_id = ] job_id | [ @job_name = ] 'job_name' } ,
{ [ @schedule_id = ] schedule_id
| [ @schedule_name = ] 'schedule_name' }
Аргументы
[ @job_id= ] job_id
Идентификационный номер задания, для которого назначается расписание. Аргумент job_id имеет тип uniqueidentifier и значение по умолчанию NULL.[ @job_name = ] 'job_name'
Имя задания, для которого назначается расписание. Аргумент job_name имеет тип sysname и значение по умолчанию NULL.Примечание Необходимо задать либо аргумент job_id, либо аргумент job_name, но не оба аргумента сразу.
[ @schedule_id = ] schedule_id
Идентификационный номер расписания, которое назначается заданию. Аргумент schedule_id имеет тип int и значение по умолчанию NULL.[ @schedule_name = ] 'schedule_name'
Имя расписания, назначенного заданию. Аргумент schedule_name имеет тип sysname и значение по умолчанию NULL.Примечание Необходимо указать либо аргумент schedule_id, либо аргумент schedule_name, но не оба аргумента одновременно.
Замечания
Расписание и задание должны иметь одного и того же владельца.
Расписание может быть назначено более чем одному заданию. Задание может выполняться более чем в одном расписании.
Данную хранимую процедуру следует запускать из базы данных msdb.
Разрешения
По умолчанию эту хранимую процедуру могут выполнять члены предопределенной роли сервера sysadmin. Другим пользователям должна быть предоставлена одна из следующих предопределенных ролей базы данных агента SQL Server в базе данных msdb:
SQLAgentUserRole
SQLAgentReaderRole
SQLAgentOperatorRole
Подробные сведения о разрешениях для этих ролей см. в разделе Предопределенные роли базы данных агента SQL Server.
SQL Server проверяет, является ли пользователь владельцем и задания, и расписания.
Примеры
В следующем примере составляется расписание с именем 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