sysmail_delete_log_sp (Transact-SQL)

Löscht Ereignisse aus dem Datenbank-E-Mail-Protokoll. Es werden entweder alle Ereignisse gelöscht oder nur die Ereignisse, die einem Datums- oder Typkriterium entsprechen.

Themenlink (Symbol)Transact-SQL-Syntaxkonventionen

Syntax

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

Argumente

  • [ @logged_before = ] 'logged_before'
    Löscht Einträge bis zu dem Datum und der Uhrzeit, die vom logged_before-Argument angegeben wurden. logged_before ist vom Datentyp datetime und hat den Standardwert NULL. NULL steht für alle Daten.

  • [ @event_type = ] 'event_type'
    Löscht Protokolleinträge des von event_type angegebenen Typs. event_type ist vom Datentyp varchar(15) und hat keinen Standardwert. Gültige Einträge sind success, warning, error und informational. NULL steht für alle Ereignistypen.

Rückgabecodewerte

0 (Erfolg) oder 1 (Fehler)

Hinweise

Verwenden Sie die gespeicherte Prozedur sysmail_delete_log_sp, um Einträge dauerhaft aus dem Datenbank-E-Mail-Protokoll zu löschen. Mithilfe eines optionalen Arguments können Sie nur ältere Datensätze löschen, indem Sie ein Datum und eine Uhrzeit angeben. Ereignisse, die älter sind als dieses Argument, werden gelöscht. Mithilfe eines optionalen Arguments können Sie nur Ereignisse eines bestimmten Typs löschen. Diese werden als event_type-Argument angegeben.

Durch Löschen der Einträge im Datenbank-E-Mail-Protokoll werden die E-Mail-Einträge nicht aus den Datenbank-E-Mail-Tabellen gelöscht. Verwenden Sie sysmail_delete_mailitems_sp, um E-Mails aus den Datenbank-E-Mail-Tabellen zu löschen.

Berechtigungen

Nur Mitglieder der festen Serverrolle sysadmin können auf diese Prozedur zugreifen.

Beispiele

A. Löschen aller Ereignisse

Im folgenden Beispiel werden alle Ereignisse im Datenbank-E-Mail-Protokoll gelöscht.

EXECUTE msdb.dbo.sysmail_delete_log_sp ;
GO

B. Löschen der ältesten Ereignisse

Im folgenden Beispiel werden Ereignisse im Datenbank-E-Mail-Protokoll gelöscht, die vor dem 9. Oktober 2005 liegen.

EXECUTE msdb.dbo.sysmail_delete_log_sp
    @logged_before = 'October 9, 2005' ;
GO

C. Löschen aller Ereignisse eines bestimmten Typs

Im folgenden Beispiel werden Erfolgsmeldungen im Datenbank-E-Mail-Protokoll gelöscht.

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