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.
Microsoft 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
См. также
Справочник
sp_add_schedule (Transact-SQL)
sp_detach_schedule (Transact-SQL)
sp_delete_schedule (Transact-SQL)