Wenn Sie Datenbank-E-Mail zum Senden von E-Mails in SQL Server verwenden, können Sie sysmail_delete_log_sp
verwenden gespeicherte Prozedur zum Löschen von Elementen aus dem Ereignisprotokoll.
Sie können alle Ereignisse, Ereignisse basierend auf ihrem Protokolldatum (d. h. vor einem bestimmten Datum) oder Ereignisse basierend auf dem Ereignistyp löschen.
Alle Veranstaltungen anzeigen
Bevor Sie mit dem Löschen von Ereignissen beginnen, sollten Sie sich diese ansehen. Sie können dies mit dem sysmail_event_log
tun ansehen.
SELECT * FROM msdb.dbo.sysmail_event_log;
Alte Ereignisse löschen
Um alle Ereignisse zu löschen, die vor einem bestimmten Datum protokolliert wurden, verwenden Sie den @logged_before
Argument.
Beispiel:
EXECUTE msdb.dbo.sysmail_delete_log_sp
@logged_before = '2020-08-25';
Ereignisse eines bestimmten Typs löschen
Sie können den @event_type
verwenden Argument, um nur Ereignisse eines bestimmten Typs zu löschen.
Hier ist ein Beispiel für das Löschen aller Informationsereignisse.
EXECUTE msdb.dbo.sysmail_delete_log_sp
@event_type = 'information';
Alle Ereignisse löschen
Um alle Ereignisse zu löschen, führen Sie sysmail_delete_log_sp
aus ohne Argumente.
EXECUTE msdb.dbo.sysmail_delete_log_sp;
E-Mails löschen
Die sysmail_delete_log_sp
Der Vorgang dient ausschließlich dem Löschen von Einträgen aus dem Protokoll. Die E-Mail-Elemente werden nicht aus den Datenbank-E-Mail-Tabellen gelöscht.
Verwenden Sie sysmail_delete_mailitems_sp
um E-Mail-Elemente aus den Datenbank-E-Mail-Tabellen zu löschen.