Compartilhar via


sp_delete_job (Transact-SQL)

Sintaxe

sp_delete_job { [ @job_id = ] job_id | [ @job_name = ] 'job_name' } ,
     [ , [ @originating_server = ] '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 NULL.

  • [ @job_name= ] 'job_name'
    É o nome do trabalho a ser excluído. job_name é sysname, com um padrão NULL.

    ObservaçãoObservação

    É necessário especificar a job_id ou o job_name, mas não é possível especificar ambos ao mesmo tempo.

  • [ @originating_server= ] 'server'
    Para uso interno.

  • [ @delete_history= ] delete_history
    Especifica se o histórico para o trabalho deve ser excluído. delete_history é bit, com um padrão de 1. Quando delete_history é 1, o histórico de trabalho para o trabalho é excluído. Quando delete_history é 0, o histórico de trabalho para o trabalho não é excluído.

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

  • [ @delete_unused_schedule= ] delete_unused_schedule
    Especifica se as agendas anexadas a esse trabalho devem ser excluídas caso não estejam anexadas a nenhum outro. 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 referenciar a agenda. Quando delete_unused_schedule é 0, as agendas não são excluídas.

Valores de código de retorno

0 (êxito) ou 1 (falha)

Conjuntos 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. Observe que esse parâmetro padroniza o comportamento de compatibilidade com versões anteriores. Para manter as agendas que não estão anexadas a um trabalho, é necessário fornecer o valor 0 como o argumento @delete_unused_schedule.

O SQL Server Management Studio gerencia trabalhos de forma fácil e com representação gráfica. Além disso, ele é recomendado para criar e gerenciar a infra-estrutura de trabalhos.

Este 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 SQL Server Management Studio para excluir planos de manutenção.

Permissões

Por padrão, os membros da função de servidor fixa sysadmin podem executar este procedimento armazenado. Deve ser concedida a outros usuários uma das seguintes funções de banco de dados fixas do SQL Server Agent no banco de dados msdb:

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

Membros da função de servidor fixa sysadmin podem executar sp_delete_job para excluir qualquer trabalho. Um usuário que não for membro da função de servidor fixa sysadmin, poderá excluir somente os trabalhos que forem de sua propriedade.

Exemplos

O exemplo a seguir exclui o trabalho NightlyBackups.

USE msdb ;
GO

EXEC sp_delete_job
    @job_name = N'NightlyBackups' ;
GO