Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Azure SQL Managed Instance
Apaga um trabalho do serviço SQL Server Agent.
Transact-SQL convenções de sintaxe
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 ]
[ ; ]
Arguments
[ @job_id = ] 'job_id'
O número de identificação do trabalho a ser eliminado.
@job_id é um identificador único, com um padrão de NULL.
Deve ser especificado @job_id ou @job_name ; Nenhum dos dois pode ser especificado.
[ @job_name = ] N'job_name'
O nome do trabalho a ser apagado.
@job_name é sysname, com o padrão de NULL.
Deve ser especificado @job_id ou @job_name ; Nenhum dos dois pode ser especificado.
[ @originating_server = ] N'originating_server'
Identificado apenas para fins informativos. Não suportado. A compatibilidade futura não é garantida.
[ @delete_history = ] delete_history
Especifica se deve apagar o histórico do trabalho.
@delete_history é bit, com um padrão de 1.
- Quando @delete_history
1é , o histórico do emprego é apagado. - Quando @delete_history
0é , o histórico do emprego não é apagado.
Quando um trabalho é eliminado e o histórico não é eliminado, a informação histórica do trabalho não aparece no histórico da interface gráfica do SQL Server Agent, mas a informação continua a residir na sysjobhistory tabela da msdb base de dados.
[ @delete_unused_schedule = ] delete_unused_schedule
Especifica se deve apagar os horários associados a este trabalho se não estiverem ligados a nenhum outro trabalho.
@delete_unused_schedule é bit, com um padrão de 1.
- Quando @delete_unused_schedule
1é , os horários associados a este trabalho são eliminados se nenhum outro trabalho fizer referência ao horário. - Quando @delete_unused_schedule
0é , os horários não são apagados.
Valores de código de retorno
0 (sucesso) ou 1 (fracasso).
Conjunto de resultados
Nenhum.
Observações
O argumento @originating_server está reservado para uso interno.
O argumento do @delete_unused_schedule proporciona compatibilidade retroativa com versões anteriores do SQL Server ao remover automaticamente agendamentos que não estão associados a nenhum trabalho. Este parâmetro corresponde por defeito ao comportamento retrocompatível. Para manter horários que não estão associados a um trabalho, deve apresentar o valor 0 como argumento @delete_unused_schedule .
O SQL Server Management Studio fornece uma maneira gráfica fácil de gerenciar trabalhos e é a maneira recomendada de criar e gerenciar a infraestrutura de trabalho.
Este procedimento armazenado não pode apagar planos de manutenção, nem tarefas que fazem parte dos planos de manutenção. Em vez disso, use o SQL Server Management Studio para eliminar planos de manutenção.
Este procedimento armazenado partilha o nome de sp_delete_job com um objeto semelhante para o serviço Azure Elastic Jobs para Azure SQL Database. Para informações sobre a versão do Elastic Jobs, veja jobs.sp_delete_job (Azure Elastic Jobs).
Permissions
Pode conceder EXECUTE permissões neste procedimento, mas essas permissões podem ser anuladas durante uma atualização do SQL Server.
Outros utilizadores devem receber um dos seguintes papéis fixos de base de dados SQL Server Agent na msdb base de dados:
- SQLAgentUserRole
- SQLAgentReaderRole
- SQLAgentOperatorRole
Para detalhes sobre as permissões destes papéis, consulte Funções de Base de Dados Fixas do Agente SQL Server.
Os membros do papel fixo de servidor sysadmin podem executar sp_delete_job para eliminar qualquer tarefa. Um utilizador que não seja membro do papel fixo de sysadmin do servidor só pode apagar trabalhos pertencentes a esse utilizador.
Examples
O exemplo seguinte elimina a tarefa NightlyBackups.
USE msdb;
GO
EXECUTE sp_delete_job @job_name = N'NightlyBackups';
GO