Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Excluir eventos do log do Database Mail no SQL Server (T-SQL)


Ao usar o Database Mail para enviar emails no SQL Server, você pode usar o sysmail_delete_log_sp procedimento armazenado para excluir itens do log de eventos.

Você pode optar por excluir todos os eventos, eventos com base na data de registro (ou seja, antes de uma determinada data) ou eventos com base no tipo de evento.

Ver todos os eventos


Antes de começar a excluir quaisquer eventos, você pode dar uma olhada neles. Você pode fazer isso com o sysmail_event_log visualizar.
SELECT * FROM msdb.dbo.sysmail_event_log;

Excluir eventos antigos


Para excluir todos os eventos que foram registrados antes de uma determinada data, use o @logged_before argumento.

Exemplo:
EXECUTE msdb.dbo.sysmail_delete_log_sp  
    @logged_before = '2020-08-25';

Excluir eventos de um determinado tipo


Você pode usar o @event_type argumento para excluir apenas eventos de um determinado tipo.

Aqui está um exemplo de exclusão de todos os eventos informativos.
EXECUTE msdb.dbo.sysmail_delete_log_sp  
    @event_type = 'information';

Excluir todos os eventos


Para excluir todos os eventos, execute sysmail_delete_log_sp sem nenhum argumento.
EXECUTE msdb.dbo.sysmail_delete_log_sp;

Excluindo itens de e-mail


O sysmail_delete_log_sp procedimento é apenas para excluir entradas do log. Ele não exclui os itens de correio das tabelas do Database Mail.

Use sysmail_delete_mailitems_sp para excluir itens de email das tabelas do Database Mail.