sp_purge_jobhistory (Transact-SQL)
Remove os registros históricos de um trabalho.
Por padrão, somente membros da função de servidor fixa sysadmin ou da função de banco de dados fixa SQLAgentOperatorRole podem executar este procedimento armazenado. Os membros de sysadmin podem limpar o histórico de trabalho de todos os trabalhos locais e multiservidor. Os membros de SQLAgentOperatorRole somente podem limpar o histórico de trabalho de todos os trabalhos locais.
Deve ser concedida explicitamente a outros usuários, inclusive membros de SQLAgentUserRole e membros de SQLAgentReaderRole, a permissão EXECUTE em sp_purge_jobhistory. Depois de receber a permissão EXECUTE nesse procedimento armazenado, esses usuários poderão limpar somente o histórico dos trabalhos que eles possuam.
As funções de banco de dados fixas SQLAgentUserRole, SQLAgentReaderRole e SQLAgentOperatorRole estão no banco de dados msdb. Para obter detalhes sobre suas permissões, consulte Funções de banco de dados fixas do SQL Server Agent.
A. Remover histórico de um trabalho específico
O exemplo a seguir remove o histórico de um trabalho denominado NightlyBackups.
USE msdb ;
GO
EXEC dbo.sp_purge_jobhistory
@job_name = N'NightlyBackups' ;
GO
B. Remover histórico de todos os trabalhos
Observação
|
|---|
|
Somente membros da função de servidor fixa sysadmin e membros de SQLAgentOperatorRole podem remover o histórico de todos os trabalhos. Quando usuários sysadmin executarem este procedimento armazenado sem parâmetros, o histórico de trabalhos de todos os trabalhos locais e multiservidor será limpo. Quando usuários SQLAgentOperatorRole executarem este procedimento armazenado sem parâmetros, somente o histórico de trabalhos de todos os trabalhos locais será limpo. |
O exemplo a seguir executa o procedimento sem parâmetros para remover todos os registros históricos.
USE msdb ; GO EXEC dbo.sp_purge_jobhistory ; GO