Partager via


sp_purge_jobhistory (Transact-SQL)

Supprime les enregistrements d'historique d'un travail.

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 la valeur par défaut NULL. Vous devez définir la valeur de job_id ou de job_name, mais pas les deux valeurs à la fois.

    ms175044.note(fr-fr,SQL.90).gifRemarque :
    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 du travail 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 du travail 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 la valeur par défaut NULL. 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 la valeur par défaut NULL. 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)

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 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.

Ensembles de résultats

Aucun

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

ms175044.note(fr-fr,SQL.90).gifRemarque :
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 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, seule l'historique du travail 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)

Aide et Informations

Assistance sur SQL Server 2005