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.
Gilt für: SQL Server (SQL Server 2008 bis aktuelle Version). |
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)