sp_attach_schedule (Transact-SQL)
Define uma agenda para um trabalho.
Sintaxe
sp_attach_schedule
{ [ @job_id = ] job_id | [ @job_name = ] 'job_name' } ,
{ [ @schedule_id = ] schedule_id
| [ @schedule_name = ] 'schedule_name' }
Argumentos
[ @job_id= ] job_id
O número de identificação do trabalho ao qual a agenda será adicionada. job_idé uniqueidentifier, com um padrão NULL.[ @job_name = ] 'job_name'
O nome do trabalho ao qual a agenda será adicionada. job_nameé sysname, com um padrão NULL.Observação É necessário especificar a job_id ou o job_name, mas não é possível especificar ambos ao mesmo tempo.
[ @schedule_id = ] schedule_id
O número de identificação da agenda a ser definida para o trabalho. schedule_idé int, com um padrão NULL.[ @schedule_name = ] 'schedule_name'
O nome da agenda a ser definida para o trabalho. schedule_nameé sysname, com um padrão NULL.Observação É necessário especificar a schedule_id ou o schedule_name, mas não é possível especificar ambos ao mesmo tempo.
Comentários
A agenda e o trabalho devem ter o mesmo proprietário.
Uma agenda pode ser definida para mais de um trabalho. Um trabalho pode ser executado em mais de uma agenda.
Este procedimento armazenado deve ser executado a partir do banco de dados msdb.
Permissões
Por padrão, os membros da função de servidor fixa sysadmin podem executar este procedimento armazenado. Deve ser concedida a outros usuários uma das seguintes funções de banco de dados fixas do SQL Server Agent no banco de dados msdb:
SQLAgentUserRole
SQLAgentReaderRole
SQLAgentOperatorRole
Para obter detalhes sobre as permissões dessas funções, consulte Funções de banco de dados fixas do SQL Server Agent.
O SQL Server verifica se o usuário possui o trabalho e a agenda.
Exemplos
O exemplo a seguir cria um agendamento denominado NightlyJobs. Os trabalhos que usam esse agendamento são executados diariamente quando a hora no servidor é 01:00. O exemplo anexa a agenda ao trabalho BackupDatabase e ao trabalho RunReports.
Observação |
---|
Este exemplo supõe que o trabalho BackupDatabase e o trabalho RunReports já existam. |
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
Consulte também