Compartilhar via


sp_detach_schedule (Transact-SQL)

Remove uma associação entre uma agenda e um trabalho.

Ícone de vínculo de tópico Convenções da sintaxe Transact-SQL

Sintaxe

sp_detach_schedule 
     { [ @job_id = ] job_id | [ @job_name = ] 'job_name' } ,
       { [ @schedule_id = ] schedule_id | [ @schedule_name = ] 'schedule_name' } ,
     [ @delete_unused_schedule = ] delete_unused_schedule

Argumentos

  • [ @job_id= ] job_id
    O número de identificação do trabalho do qual remover a agenda. job_id é uniqueidentifier, com um padrão de NULL.

  • [ @job_name= ] 'job_name'
    O nome do trabalho do qual remover a agenda. job_name é sysname, com um padrão de NULL.

    ObservaçãoObservaçã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 removida do trabalho. schedule_id é int, com um padrão de NULL.

  • [ @schedule_name= ] 'schedule_name'
    O nome da agenda a ser removida do trabalho. schedule_name é sysname, com um padrão de NULL.

    ObservaçãoObservação

    É necessário especificar a schedule_id ou o schedule_name, mas não é possível especificar ambos ao mesmo tempo.

  • [ @delete_unused_schedule= ] delete_unused_schedule
    Especifica se agendas de trabalho não usadas devem ser excluídas. delete_unused_schedule é bit, com um padrão de 0, que significa que todas as agendas serão mantidas, mesmo se nenhum trabalho fizer referência a elas. Se for definido como 1, as agendas de trabalho não usadas serão excluídas caso nenhum trabalho faça referência a elas.

Valores de código de retorno

0 (êxito) ou 1 (falha)

Conjuntos de resultados

Nenhum

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 a agenda. Somente membros da função de servidor fixa sysadmin podem desanexar agendas de trabalhos pertencentes a outro usuário.

Exemplos

O exemplo a seguir remove uma associação entre uma agenda 'NightlyJobs' e um trabalho 'BackupDatabase'.

USE msdb ;
GO

EXEC dbo.sp_detach_schedule
    @job_name = 'BackupDatabase',
    @schedule_name = 'NightlyJobs' ;
GO

Consulte também

Referência

sp_add_schedule (Transact-SQL)

sp_attach_schedule (Transact-SQL)

sp_delete_schedule (Transact-SQL)