Partilhar via


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.

Tanto @job_id quanto @job_name devem ser especificados, mas ambos não podem ser especificados.

@job_name [ = ] N'job_name'

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

Tanto @job_id quanto @job_name devem ser especificados, 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.

Tanto @schedule_id quanto @schedule_name devem ser especificados, mas ambos não podem ser especificados.

@schedule_name [ = ] N'schedule_name'

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

Tanto @schedule_id quanto @schedule_name devem ser especificados, 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, o que significa que todos os agendamentos são mantidos, mesmo que nenhum trabalho faça referência a eles. 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 do msdb SQL Server Agent no banco de dados:

  • SQLAgentUserRole
  • SQLAgentReaderRole
  • SQLAgentOperatorRole

O proprietário do trabalho pode anexar um trabalho a um agendamento e desanexar um trabalho de um agendamento sem precisar ser o proprietário do agendamento. No entanto, um agendamento não poderá ser excluído se a desanexação o deixar sem trabalhos, a menos que o chamador seja o proprietário do agendamento.

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 é o proprietário da agenda. Somente membros da função de servidor fixa sysadmin podem desanexar agendamentos 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