Поделиться через


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 — datetime с 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.

Разрешения

Вы можете предоставить EXECUTE разрешения для этой процедуры, но эти разрешения могут быть переопределены во время обновления SQL Server.

Примеры

А. Удаление всех событий

В следующем примере из журнала компонента Database Mail удаляются все события.

EXEC msdb.dbo.sysmail_delete_log_sp;
GO

B. Удаление старейших событий

В следующем примере удаляются события в журнале Database Mail, которые старше 9 октября 2022 г.

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

В. Удаление всех событий определенного типа

В следующем примере из журнала компонента Database Mail удаляются все сообщения «success».

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