Compartilhar via


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

Você pode conceder EXECUTE permissões nesse procedimento, 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