Compartilhar via


sysmail_delete_log_sp (Transact-SQL)

Aplica-se a: 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