Partager via


sp_purge_jobhistory (Transact-SQL)

Supprime les enregistrements d'historique d'un travail.

Icône Lien de rubrique Conventions de la syntaxe Transact-SQL

Syntaxe

sp_purge_jobhistory 
   {   [ @job_name = ] 'job_name' | 
     | [ @job_id = ] job_id }
   [ , [ @oldest_date = ] oldest_date ]

Arguments

  • [ @job_name= ] 'job_name'
    Nom du travail dont il faut supprimer les enregistrements d'historique. job_nameest de type sysname, avec NULL comme valeur par défaut. Vous devez définir la valeur de job_id ou de job_name, mais pas les deux valeurs à la fois.

    [!REMARQUE]

    Les membres du rôle de serveur fixe sysadmin ou du rôle de base de données fixe SQLAgentOperatorRole peuvent exécuter sp_purge_jobhistory sans spécifier job_name ni job_id. Lorsque les utilisateurs sysadmin ne précisent pas ces arguments, l'historique des travaux pour tous les travaux locaux et multiserveurs est supprimé au moment défini par oldest_date. Lorsque les utilisateurs SQLAgentOperatorRole ne précisent pas ces arguments, l'historique des travaux pour tous les travaux locaux est supprimé au moment défini par oldest_date.

  • [ @job_id= ] job_id
    Numéro d'identification du travail dont les enregistrements doivent être supprimés. job_idest de type uniqueidentifier, avec NULL comme valeur par défaut. Vous devez définir la valeur de job_id ou de job_name, mais pas les deux valeurs à la fois. Consultez la remarque rattachée à la description de @job_name pour savoir comment les utilisateurs sysadmin ou SQLAgentOperatorRole peuvent exploiter cet argument.

  • [ @oldest_date = ] oldest_date
    Enregistrement le plus ancien à conserver dans l'historique. oldest_date est de type datetime, avec NULL comme valeur par défaut. Lorsque oldest_date est spécifié, sp_purge_jobhistory ne supprime que les enregistrements antérieurs à la valeur spécifiée.

Valeurs des codes de retour

0 (succès) ou 1 (échec)

Ensembles de résultats

Aucun

Notes

Lorsque sp_purge_jobhistory s'exécute sans problème, un message est retourné.

Autorisations

Par défaut, seuls les membres du rôle de serveur fixe sysadmin ou du rôle de base de données fixe SQLAgentOperatorRole peuvent exécuter cette procédure stockée. Les membres de sysadmin peuvent purger l'historique des travaux pour tous les travaux locaux et multiserveurs tandis que les membres de SQLAgentOperatorRole purgent uniquement l'historique pour les travaux locaux.

Les autres utilisateurs, notamment les membres de SQLAgentUserRole et de SQLAgentReaderRole, doivent disposer explicitement de l'autorisation EXECUTE sur sp_purge_jobhistory. Une fois l'autorisation accordée sur cette procédure stockée, ces utilisateurs peuvent uniquement supprimer l'historique des travaux dont ils sont propriétaires.

Les rôles de base de données fixes SQLAgentUserRole, SQLAgentReaderRole et SQLAgentOperatorRole sont contenus dans la base de données msdb. Pour en savoir plus sur les autorisations qui leur sont propres, consultez Rôles de base de données fixes de l'Agent SQL Server.

Exemples

A.Suppression de l'historique d'un travail spécifique

L'exemple suivant supprime l'historique du travail NightlyBackups.

USE msdb ;
GO

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

B.Suppression de l'historique de tous les travaux

[!REMARQUE]

Seuls les membres du rôle de serveur fixe sysadmin et les membres de SQLAgentOperatorRole peuvent supprimer l'historique de tous les travaux. Lorsque les utilisateurs sysadmin exécutent cette procédure stockée sans paramètres, l'historique des travaux de tous les travaux locaux et multiserveurs est systématiquement purgé. Lorsque les utilisateurs SQLAgentOperatorRole exécutent cette procédure stockée sans paramètres, seul l'historique des travaux pour tous les travaux locaux est systématiquement purgé.

Dans cet exemple, la procédure est exécutée sans paramètres pour supprimer tous les enregistrements d'historique.

USE msdb ;
GO

EXEC dbo.sp_purge_jobhistory ;
GO

Voir aussi

Référence

sp_help_job (Transact-SQL)

sp_help_jobhistory (Transact-SQL)

Procédures stockées système (Transact-SQL)

GRANT – octroi d'autorisations d'objet (Transact-SQL)