Freigeben über


sysmail_delete_log_sp (Transact-SQL)

Löscht Ereignisse aus dem Datenbank-E-Mail-Protokoll. Es werden entweder alle Ereignisse im Protokoll 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 werden. logged_before ist vom Datentyp datetime. Der Standardwert ist NULL. NULL steht für alle Daten.

  • [ @event_type = ] 'event_type'
    Löscht Protokolleinträge, die den als event_type angegebenen Typ aufweisen. 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

Siehe auch

Verweis

sysmail_event_log (Transact-SQL)

sysmail_delete_mailitems_sp (Transact-SQL)

Konzepte

Erstellen eines Auftrags des SQL Server-Agents zum Archivieren von Datenbank-E-Mail-Nachrichten und Ereignisprotokollen