sysmail_delete_log_sp (Transact-SQL)
Aplica-se: SQL Server
Exclui eventos do log do Database Mail. Exclui todos os eventos no log ou os eventos que atendem a critérios de data ou de tipo.
Convenções de sintaxe de Transact-SQL
Sintaxe
sysmail_delete_log_sp [ [ @logged_before = ] 'logged_before' ]
[ , [ @event_type = ] 'event_type' ]
[ ; ]
Argumentos
@logged_before [ = ] 'logged_before'
Exclui entradas até a data e hora especificadas pelo argumento @logged_before . @logged_before é datetime com NULL
como padrão. NULL
indica todas as datas.
@event_type [ = ] 'event_type'
Exclui entradas de log do tipo especificado como o @event_type. @event_type é varchar(15) sem padrão. As entradas válidas são:
success
warning
error
informational
NULL indica todos os tipos de evento.
Valores do código de retorno
0
(sucesso) ou 1
(falha).
Comentários
Use o sysmail_delete_log_sp
procedimento armazenado para excluir permanentemente entradas do log do Database Mail. Um argumento opcional permite excluir somente os registros mais antigos fornecendo uma data e hora. Os eventos mais antigos que o argumento serão excluídos. Um argumento opcional permite excluir apenas eventos de um determinado tipo, especificado como o argumento @event_type .
A exclusão de entradas no log do Database Mail não exclui as entradas de email das tabelas do Database Mail. Use sysmail_delete_mailitems_sp para excluir emails das tabelas do Database Mail.
Permissões
Esse procedimento armazenado pertence à função db_owner . Você pode conceder EXECUTE
permissões para qualquer usuário, mas essas permissões podem ser substituídas durante uma atualização do SQL Server.
Exemplos
R. Excluir todos os eventos
O exemplo a seguir exclui todos os eventos no log do Database Mail.
EXEC msdb.dbo.sysmail_delete_log_sp;
GO
B. Excluir os eventos mais antigos
O exemplo a seguir exclui eventos no log do Database Mail anteriores a 9 de outubro de 2022.
EXEC msdb.dbo.sysmail_delete_log_sp
@logged_before = 'October 9, 2022';
GO
C. Exclua todos os eventos de um determinado tipo
O exemplo a seguir exclui todas as mensagens de êxito no log do Database Mail.
EXEC msdb.dbo.sysmail_delete_log_sp
@event_type = 'success' ;
GO