Partilhar via


sp_delete_schedule (Transact-SQL)

Aplica-se a: SQL Server

Exclui uma agenda.

Convenções de sintaxe de Transact-SQL

Sintaxe

sp_delete_schedule
    [ [ @schedule_id = ] schedule_id ]
    [ , [ @schedule_name = ] N'schedule_name' ]
    [ , [ @force_delete = ] force_delete ]
    [ , [ @automatic_post = ] automatic_post ]
[ ; ]

Argumentos

@schedule_id [ = ] schedule_id

O número de identificação da agenda a ser excluída. @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 excluída. @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.

@force_delete [ = ] force_delete

Especifica se o procedimento deve falhar se a agenda estiver anexada a um trabalho. @force_delete é bit, com um padrão de 0.

  • Quando @force_delete é 0, o procedimento armazenado falhará se o agendamento estiver anexado a um trabalho.
  • Quando @force_delete é 1, o agendamento é excluído independentemente de o agendamento estar anexado a um trabalho.

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

Comentários

Por padrão, um agendamento não poderá ser excluído se o agendamento estiver anexado a um trabalho. Para excluir uma agenda anexada a um trabalho, especifique um valor de 1 para @force_delete. A exclusão de um agendamento não interrompe os trabalhos que estão em execução no momento.

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.

Somente membros da função sysadmin podem excluir uma agenda de trabalho que pertence a outro usuário.

Exemplos

R. excluir uma agenda

O exemplo a seguir exclui a agenda NightlyJobs. Se o agendamento estiver anexado a qualquer trabalho, o exemplo não excluirá o agendamento.

USE msdb;
GO

EXEC dbo.sp_delete_schedule
    @schedule_name = N'NightlyJobs';
GO

B. Excluir uma agenda anexada a um trabalho

O exemplo a seguir exclui a agenda RunOnce, independentemente do fato de a agenda estar anexada a um trabalho.

USE msdb;
GO

EXEC dbo.sp_delete_schedule
    @schedule_name = 'RunOnce',
    @force_delete = 1;
GO