sp_attach_schedule (Transact-SQL)
Define uma agenda para um trabalho.
Convenções da sintaxe Transact-SQL
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 para o qual a agenda é adicionada. job_id é uniqueidentifier, com um padrão de NULL.[ @job_name = ] 'job_name'
O nome do trabalho ao qual a agenda é adicionada. job_name é sysname, com um padrão de NULL.Observação É necessário especificar job_id ou 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 de NULL.[ @schedule_name = ] 'schedule_name'
O nome da agenda a ser definida para o trabalho. schedule_name é sysname, com um padrão de 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
Observe que o proprietário do trabalho pode anexar e desanexar o trabalho de uma agenda sem precisar ser também o proprietário da agenda. No entanto, uma agenda não pode ser excluída se a desanexação deixá-la sem trabalhos, a menos que o chamador seja o proprietário da agenda.
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 uma agenda chamada NightlyJobs. Os trabalhos que usam essa agenda 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á existem. |
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
Referência
sp_add_schedule (Transact-SQL)