Dela via


sysmail_delete_log_sp (Transact-SQL)

gäller för:SQL Server

Tar bort händelser från Databasens e-postlogg. Tar bort alla händelser i loggen eller de händelser som uppfyller ett datum- eller typvillkor.

Transact-SQL syntaxkonventioner

Syntax

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

Argumentpunkter

[ @logged_before = ] "logged_before"

Tar bort poster upp till det datum och den tid som anges av argumentet @logged_before . @logged_before är datetime med NULL som standard. NULL anger alla datum.

[ @event_type = ] "event_type"

Tar bort loggposter av den typ som anges som @event_type. @event_type är varchar(15) utan standard. Giltiga poster är:

  • success
  • warning
  • error
  • informational

NULL anger alla händelsetyper.

Returnera kodvärden

0 (lyckades) eller 1 (fel).

Anmärkningar

Använd den sysmail_delete_log_sp lagrade proceduren för att permanent ta bort poster från Database Mail-loggen. Med ett valfritt argument kan du bara ta bort de äldre posterna genom att ange ett datum och en tid. Händelser som är äldre än det argumentet tas bort. Med ett valfritt argument kan du bara ta bort händelser av en viss typ, som anges som argumentet @event_type .

Om du tar bort poster i databasens e-postlogg tas inte e-postposterna bort från databasposttabellerna. Använd sysmail_delete_mailitems_sp för att ta bort e-post från databasposttabellerna.

Behörigheter

Du kan bevilja EXECUTE behörigheter för den här proceduren, men dessa behörigheter kan åsidosättas under en SQL Server-uppgradering.

Exempel

A. Ta bort alla händelser

I följande exempel tas alla händelser bort i Databasens e-postlogg.

EXECUTE msdb.dbo.sysmail_delete_log_sp;
GO

B. Ta bort de äldsta händelserna

I följande exempel tas händelser bort i Databasens e-postlogg som är äldre än den 9 oktober 2022.

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

C. Ta bort alla händelser av en viss typ

I följande exempel tas lyckade meddelanden bort i databasens e-postlogg.

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