sysmail_delete_log_sp (Transact-SQL)

適用於:SQL Server

從 Database Mail 記錄中刪除事件。 刪除記錄檔中的所有事件,或符合日期或類型準則的事件。

Transact-SQL 語法慣例

語法

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

引數

[ @logged_before = ] 'logged_before'

刪除@logged_before自變數所指定日期和時間的專案。 @logged_before是預設值為 NULL 的日期時間。 NULL 表示所有日期。

[ @event_type = ] 'event_type'

刪除指定為 @event_type之類型的記錄專案。 @event_type為 varchar(15),沒有預設值。 有效的專案包括:

  • success
  • warning
  • error
  • informational

NULL 表示所有事件類型。

傳回碼值

0 (成功)或 1 (失敗)。

備註

sysmail_delete_log_sp使用預存程式,從 Database Mail 記錄檔永久刪除專案。 選擇性自變數可讓您藉由提供日期和時間,只刪除較舊的記錄。 將會刪除比該自變數還舊的事件。 選擇性自變數可讓您只刪除指定為 @event_type 自變數的特定類型事件。

刪除 Database Mail 記錄中的專案並不會從 Database Mail 數據表中刪除電子郵件專案。 使用 sysmail_delete_mailitems_sp 從 Database Mail 資料表中刪除電子郵件。

權限

此預存程式是由 db_owner 角色所擁有。 您可以授與 EXECUTE 任何用戶的許可權,但這些許可權可能會在 SQL Server 升級期間覆寫。

範例

A. 刪除所有事件

下列範例會刪除 Database Mail 記錄中的所有事件。

EXEC msdb.dbo.sysmail_delete_log_sp;
GO

B. 刪除最舊的事件

下列範例會刪除Database Mail記錄檔中早於2022年10月9日的事件。

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

C. 刪除特定類型的所有事件

下列範例會刪除Database Mail記錄中的成功訊息。

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