Partilhar via


sp_purge_jobhistory (Transact-SQL)

Aplica-se a:SQL ServerAzure SQL Managed Instance

Remove os registos de histórico de um trabalho no serviço SQL Server Agent.

Transact-SQL convenções de sintaxe

Sintaxe

sp_purge_jobhistory
    [ [ @job_name = ] N'job_name' ]
    [ , [ @job_id = ] 'job_id' ]
    [ , [ @oldest_date = ] oldest_date ]
[ ; ]

Arguments

[ @job_name = ] N'job_name'

O nome da tarefa para a qual se devem apagar os registos históricos. @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.

Os membros do papel fixo de servidor administrador do sistema ou membros do papel fixo SQLAgentOperatorRole podem executar sp_purge_jobhistory sem especificar um @job_name ou @job_id. Quando os utilizadores de sysadmin não especificam estes argumentos, o histórico de trabalhos de todos os trabalhos locais e multiservidor é eliminado dentro do tempo especificado por @oldest_date. Quando os utilizadores do SQLAgentOperatorRole não especificam estes argumentos, o histórico de trabalhos de todos os trabalhos locais é eliminado dentro do tempo especificado por @oldest_date.

[ @job_id = ] 'job_id'

O número de identificação do trabalho para os registos a serem eliminados. @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.

Consulte a nota na descrição do @job_name para informações sobre como os utilizadores de sysadmin ou SQLAgentOperatorRole podem usar este argumento.

[ @oldest_date = ] oldest_date

O recorde mais antigo a ser mantido na história. @oldest_date é datatime, com um padrão de NULL. Quando oldest_date é especificado, sp_purge_jobhistory só remove registos mais antigos do que o valor especificado.

Valores de código de retorno

0 (sucesso) ou 1 (fracasso).

Conjunto de resultados

Nenhum.

Observações

Quando sp_purge_jobhistory concluído com sucesso, uma mensagem é devolvida.

Este procedimento armazenado partilha o nome de sp_purge_jobhistory 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_purge_jobhistory (Azure Elastic Jobs).

Permissions

Por defeito, apenas os membros do papel fixo de servidor sysadmin ou do papel fixo de base de dados SQLAgentOperatorRole podem executar este procedimento armazenado. Os membros do sysadmin podem apagar o histórico de trabalhos de todos os trabalhos locais e multiservidor. Os membros do SQLAgentOperatorRole podem purgar o histórico de trabalhos apenas para todos os trabalhos locais.

Outros utilizadores, incluindo membros do SQLAgentUserRole e membros do SQLAgentReaderRole, devem receber explicitamente a permissão EXECUTE em sp_purge_jobhistory. Depois de receberem permissão EXECUTE neste procedimento armazenado, estes utilizadores só podem purgar o histórico dos trabalhos que possuem.

Os papéis fixos de base de dados SQLAgentUserRole, SQLAgentReaderRole e SQLAgentOperatorRole estão na msdb base de dados. Para detalhes sobre as suas permissões, consulte Papéis Fixos de Base de Dados do Agente SQL Server.

Examples

A. Remover o histórico de um emprego específico

O exemplo seguinte remove o histórico de um trabalho chamado NightlyBackups.

USE msdb;
GO

EXECUTE dbo.sp_purge_jobhistory @job_name = N'NightlyBackups';
GO

B. Remover o histórico de todos os empregos

Apenas os membros do servidor fixo de sysadmin e os membros do SQLAgentOperatorRole podem remover o histórico de todos os trabalhos. Quando os utilizadores administradores de sistemas executam este procedimento armazenado sem parâmetros, o histórico de tarefas de todos os trabalhos locais e multiservidor é eliminado. Quando os utilizadores do SQLAgentOperatorRole executam este procedimento armazenado sem parâmetros, apenas o histórico de trabalhos de todos os trabalhos locais é eliminado.

O exemplo seguinte executa o procedimento sem parâmetros para remover todos os registos históricos.

USE msdb;
GO

EXECUTE dbo.sp_purge_jobhistory;
GO