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.

Devem ser especificados @schedule_id ou @schedule_name , 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.

Devem ser especificados @schedule_id ou @schedule_name , 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 a agenda estiver anexada a um trabalho.
  • Quando @force_delete é , a agenda é 1excluída, independentemente de a agenda estar anexada 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, uma agenda não pode ser excluída se a agenda estiver anexada a um trabalho. Para excluir uma agenda anexada a um trabalho, especifique um valor de 1 para @force_delete. A exclusão de uma agenda não interrompe os trabalhos que estão sendo executados 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 msdb do SQL Server Agent no banco de dados:

  • SQLAgentUserRole
  • SQLAgentReaderRole
  • SQLAgentOperatorRole

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.

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 a agenda estiver anexada a qualquer trabalho, o exemplo não excluirá a agenda.

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