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
la valeur par défaut. NULL
indique 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) or 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