sp_delete_job (Transact-SQL)

Aplica-se a:SQL ServerInstância Gerenciada de SQL do Azure

Exclui um trabalho do serviço SQL Server Agent.

Convenções de sintaxe de Transact-SQL

Sintaxe

sp_delete_job
    [ [ @job_id = ] 'job_id' ]
    [ , [ @job_name = ] N'job_name' ]
    [ , [ @originating_server = ] N'originating_server' ]
    [ , [ @delete_history = ] delete_history ]
    [ , [ @delete_unused_schedule = ] delete_unused_schedule ]
[ ; ]

Argumentos

@job_id [ = ] 'job_id'

O número de identificação do trabalho a ser excluído. @job_id é uniqueidentifier, com um padrão de NULL.

Ou @job_id ou @job_name devem ser especificados, ambos não podem ser especificados.

@job_name [ = ] N'job_name'

O nome do trabalho a ser excluído. @job_name é sysname, com um padrão de NULL.

Ou @job_id ou @job_name devem ser especificados, ambos não podem ser especificados.

@originating_server [ = ] N'originating_server'

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

@delete_history [ = ] delete_history

Especifica se o histórico do trabalho deve ser excluído. @delete_history é bit, com um padrão de 1.

  • Quando @delete_history é , o histórico de trabalho do trabalho é 1excluído.
  • Quando @delete_history é , o histórico de trabalho não é 0excluído.

Quando um trabalho é excluído e o histórico não é excluído, as informações históricas do trabalho não são exibidas no histórico de trabalhos da interface gráfica do usuário do SQL Server Agent, mas as informações ainda residem na sysjobhistory tabela no msdb banco de dados.

@delete_unused_schedule [ = ] delete_unused_schedule

Especifica se as agendas anexadas a esse trabalho devem ser excluídas se elas não estiverem anexadas a nenhum outro trabalho. @delete_unused_schedule é bit, com um padrão de 1.

  • Quando @delete_unused_schedule é 1, as agendas anexadas a esse trabalho são excluídas se nenhum outro trabalho fizer referência ao agendamento.
  • Quando @delete_unused_schedule é 0, as agendas não são excluídas.

Valores do código de retorno

0 (sucesso) ou 1 (falha).

Conjunto de resultados

Nenhum.

Comentários

O argumento @originating_server é reservado para uso interno.

O argumento @delete_unused_schedule fornece compatibilidade com versões anteriores do SQL Server removendo automaticamente agendas que não estão anexadas a nenhum trabalho. Esse parâmetro tem como padrão o comportamento compatível com versões anteriores. Para reter agendas que não estão anexadas a um trabalho, você deve fornecer o valor 0 como o argumento @delete_unused_schedule .

O SQL Server Management Studio fornece um modo gráfico fácil de gerenciar trabalhos e é o modo recomendado de criar e gerenciar a infra-estrutura de trabalho.

Esse procedimento armazenado não pode excluir planos de manutenção e não pode excluir trabalhos que fazem parte de planos de manutenção. Em vez disso, use o SQL Server Management Studio para excluir planos de manutenção.

Este procedimento armazenado compartilha o nome de com um objeto semelhante para o serviço Azure Elastic Jobs para Banco de sp_delete_job Dados SQL do Azure. Para obter informações sobre a versão de trabalhos elásticos, consulte jobs.sp_delete_job (Azure Elastic Jobs) (Transact-SQL).

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.

Os membros da função de servidor fixa sysadmin podem executar sp_delete_job para excluir qualquer trabalho. Um usuário que não é membro da função de servidor fixa sysadmin só pode excluir trabalhos pertencentes a esse usuário.

Exemplos

O exemplo a seguir exclui o trabalho NightlyBackups.

USE msdb;
GO

EXEC sp_delete_job
    @job_name = N'NightlyBackups';
GO