Share via


sysmail_delete_log_sp (Transact-SQL)

S’applique à :SQL Server

Supprime des événements du journal de la messagerie de base de données. Supprime tous les événements du journal ou uniquement les événements correspondant à des critères de date ou de type spécifiés.

Conventions de la syntaxe Transact-SQL

Syntaxe

sysmail_delete_log_sp [ [ @logged_before = ] 'logged_before' ]
    [ , [ @event_type = ] 'event_type' ]
[ ; ]

Arguments

[ @logged_before = ] 'logged_before'

Supprime les entrées jusqu’à la date et à l’heure spécifiées par l’argument @logged_before. @logged_before est datetime avec NULL comme valeur par défaut. La valeur NULL correspond à toutes les dates.

[ @event_type = ] 'event_type'

Supprime les entrées de journal du type spécifié comme @event_type. @event_type est varchar(15) sans valeur par défaut. Les entrées valides sont les suivantes :

  • success
  • warning
  • error
  • informational

La valeur NULL correspond à tous les types d'événements.

Valeurs des codes de retour

0 (réussite) ou 1 (échec).

Notes

Utilisez la sysmail_delete_log_sp procédure stockée pour supprimer définitivement les entrées du journal de messagerie de base de données. Un argument facultatif vous permet de supprimer uniquement les enregistrements les plus anciens en fournissant une date et une heure. Les événements antérieurs à cet argument sont alors supprimés. Un argument facultatif vous permet de supprimer uniquement les événements d’un certain type, spécifiés comme argument @event_type .

La suppression d’entrées dans le journal de messagerie de base de données ne supprime pas les entrées de courrier électronique des tables de messagerie de base de données. Utilisez sysmail_delete_mailitems_sp pour supprimer le courrier électronique des tables de messagerie de base de données.

Autorisations

Cette procédure stockée appartient au rôle db_owner . Vous pouvez accorder EXECUTE des autorisations pour n’importe quel utilisateur, mais ces autorisations peuvent être remplacées lors d’une mise à niveau de SQL Server.

Exemples

R. Supprimer tous les événements

L'exemple suivant supprime tous les événements du journal de la messagerie de base de données.

EXEC msdb.dbo.sysmail_delete_log_sp;
GO

B. Supprimer les événements les plus anciens

L’exemple suivant supprime les événements du journal de messagerie de base de données antérieurs au 9 octobre 2022.

EXEC msdb.dbo.sysmail_delete_log_sp
    @logged_before = 'October 9, 2022';
GO

C. Supprimer tous les événements d’un certain type

L'exemple suivant supprime tous les messages de succès du journal de la messagerie de base de données.

EXEC msdb.dbo.sysmail_delete_log_sp
    @event_type = 'success' ;
GO