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