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
Remove todos os registos de passos de trabalho do SQL Server Agent especificados com os argumentos. Use este procedimento armazenado para manter a tabela sysjobstepslogs na msdb base de dados.
Transact-SQL convenções de sintaxe
Sintaxe
sp_delete_jobsteplog
[ [ @job_id = ] 'job_id' ]
[ , [ @job_name = ] N'job_name' ]
[ , [ @step_id = ] step_id ]
[ , [ @step_name = ] N'step_name' ]
[ , [ @older_than = ] older_than ]
[ , [ @larger_than = ] larger_than ]
[ ; ]
Arguments
[ @job_id = ] 'job_id'
O número de identificação do trabalho que contém o registo de passos do trabalho será removido.
@job_id é um identificador único, com um padrão de NULL.
Ou @job_id ou @job_name devem ser especificados, mas nenhum dos dois pode ser especificado.
[ @job_name = ] N'job_name'
O nome da tarefa.
@job_name é sysname, com o padrão de NULL.
Ou @job_id ou @job_name devem ser especificados, mas nenhum dos dois pode ser especificado.
[ @step_id = ] step_id
O número de identificação do passo no trabalho para o qual o registo de passos do trabalho deve ser eliminado.
@step_id é int, com um padrão de NULL. Se não for incluído, todos os registos de passos do trabalho são eliminados, a menos que @older_than ou @larger_than sejam especificados.
Pode ser especificado @step_id ou @step_name , mas nenhum dos dois pode ser especificado.
[ @step_name = ] N'step_name'
O nome do passo no trabalho para o qual o registo de passos do trabalho deve ser eliminado.
@step_name é sysname, com um padrão de NULL.
Pode ser especificado @step_id ou @step_name , mas nenhum dos dois pode ser especificado.
[ @older_than = ] older_than
A data e hora do registo de passos de trabalho mais antigo que quer manter.
@older_than é datatime, com um padrão de NULL. Todos os registos de passos de trabalho mais antigos do que esta data e hora são removidos.
Tanto @older_than como @larger_than podem ser especificados.
[ @larger_than = ] larger_than
O tamanho em bytes do maior registo de passos de trabalho que queres manter.
@larger_than é int, com um padrão de NULL. Todos os registos de passos de trabalho maiores do que este tamanho são removidos.
Tanto @older_than como @larger_than podem ser especificados.
Valores de código de retorno
0 (sucesso) ou 1 (fracasso).
Conjunto de resultados
Nenhum.
Observações
sp_delete_jobsteplog está na msdb base de dados.
Se não forem especificados argumentos exceto @job_id ou @job_name , todos os registos de passos do trabalho para o trabalho especificado são eliminados.
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.
Só os membros do sysadmin podem eliminar um registo de passos de trabalho que pertence a outro utilizador.
Examples
A. Remover todos os registos de passos de um trabalho
O exemplo seguinte remove todos os registos de passos do trabalho para o trabalho Weekly Sales Data Backup.
USE msdb;
GO
EXECUTE dbo.sp_delete_jobsteplog @job_name = N'Weekly Sales Data Backup';
GO
B. Remova o registo de passos do trabalho para um passo específico
O exemplo seguinte remove o registo de passos do trabalho para o passo 2 do trabalho Weekly Sales Data Backup.
USE msdb;
GO
EXECUTE dbo.sp_delete_jobsteplog
@job_name = N'Weekly Sales Data Backup',
@step_id = 2;
GO
C. Remover todos os registos de passos de trabalho com base na idade e tamanho
O exemplo seguinte remove todos os registos de passos do trabalho que sejam mais antigos do que o meio-dia de 25 de outubro de 2005 e superiores a 100 megabytes (MB) do trabalho Weekly Sales Data Backup.
USE msdb;
GO
EXECUTE dbo.sp_delete_jobsteplog
@job_name = N'Weekly Sales Data Backup',
@older_than = '10/25/2005 12:00:00',
@larger_than = 104857600;
GO