sp_detach_schedule (Transact-SQL)

Aplica-se a:SQL Server

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

Convenções de sintaxe de Transact-SQL

Sintaxe

sp_detach_schedule
    [ [ @job_id = ] 'job_id' ]
    [ , [ @job_name = ] N'job_name' ]
    [ , [ @schedule_id = ] schedule_id ]
    [ , [ @schedule_name = ] N'schedule_name' ]
    [ , [ @delete_unused_schedule = ] delete_unused_schedule ]
    [ , [ @automatic_post = ] automatic_post ]
[ ; ]

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 [ = ] N'job_name'

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

Observação

Devem ser especificados @job_id ou @job_name , mas ambos não podem ser especificados.

@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 [ = ] N'schedule_name'

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

Observação

Devem ser especificados @schedule_id ou @schedule_name , mas ambos não podem ser especificados.

@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.

  • Se definido como 0, todas as agendas serão mantidas, mesmo que nenhum trabalho faça referência a elas.
  • Se definido como 1, as agendas de trabalho não utilizadas serão excluídas se nenhum trabalho fizer referência a elas.

@automatic_post [ = ] automatic_post

Identificado apenas para fins informativos. Não há suporte. A compatibilidade futura não está garantida.

Valores do código de retorno

0 (sucesso) ou 1 (falha).

Conjunto de resultados

Nenhum

Permissões

Esse procedimento armazenado pertence à função db_owner . Você pode conceder EXECUTE permissões para qualquer usuário, mas essas permissões podem ser substituídas durante uma atualização do SQL Server.

Outros usuários devem receber uma das seguintes funções de banco de dados fixas msdb do SQL Server Agent no banco de dados:

  • 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 proprietário do trabalho pode anexar um trabalho a uma agenda e desanexar um 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 a deixar sem trabalhos, a menos que o chamador seja o proprietário da agenda.

Somente membros do sysadmin podem usar esse procedimento armazenado para editar os atributos de trabalhos que pertencem a outros usuários.

O SQL Server verifica se o usuário é o proprietário da 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