Поделиться через


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.

    ms186766.note(ru-ru,SQL.90).gifПримечание.
    Необходимо задать либо аргумент job_id, либо аргумент job_name, но не оба аргумента сразу.
  • [ @schedule_id = ] schedule_id
    Идентификационный номер расписания, которое назначается заданию. Аргумент schedule_id имеет тип int и значение по умолчанию NULL.
  • [ @schedule_name = ] 'schedule_name'
    Имя расписания, назначенного заданию. Аргумент schedule_name имеет тип sysname и значение по умолчанию NULL.

    ms186766.note(ru-ru,SQL.90).gifПримечание.
    Необходимо задать либо аргумент schedule_id, либо аргумент schedule_name, но не оба аргумента сразу.

Замечания

Расписание и задание должны иметь одного и того же владельца.

Расписание может быть назначено более чем одному заданию. Задание может выполняться более чем в одном расписании.

Данную хранимую процедуру следует запускать из базы данных msdb.

Разрешения

По умолчанию эту хранимую процедуру могут выполнять члены фиксированной серверной роли sysadmin. Другим пользователям должно быть предоставлено членство в одной из следующих фиксированных ролей базы данных агента SQL Server в базе данных msdb:

  • SQLAgentUserRole
  • SQLAgentReaderRole
  • SQLAgentOperatorRole

Подробности о разрешениях для этих ролей см. в разделе Фиксированные роли базы данных агента SQL Server.

Microsoft SQL Server проверяет, является ли пользователь владельцем как задания, так и расписания.

Примеры

В следующем примере составляется расписание с именем NightlyJobs. Задания, для которых используется это расписание, выполняются каждый день, когда часы на сервере показывают 01:00. В этом примере расписание назначается заданию BackupDatabase и заданию RunReports.

ms186766.note(ru-ru,SQL.90).gifПримечание.
Этот пример предполагает, что задания 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)

Справка и поддержка

Получение помощи по SQL Server 2005