Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Elimina eventi dal registro di posta elettronica del database in SQL Server (T-SQL)

Quando utilizzi Posta database per inviare e-mail in SQL Server, puoi utilizzare sysmail_delete_log_sp stored procedure per eliminare elementi dal registro eventi.

Puoi scegliere di eliminare tutti gli eventi, gli eventi in base alla loro data di registrazione (ovvero prima di una certa data) o gli eventi in base al tipo di evento.

Visualizza tutti gli eventi

Prima di iniziare a eliminare qualsiasi evento, potresti voler dare un'occhiata a loro. Puoi farlo con il sysmail_event_log visualizza.

SELECT * FROM msdb.dbo.sysmail_event_log;

Elimina i vecchi eventi

Per eliminare tutti gli eventi registrati prima di una certa data, utilizza il @logged_before argomento.

Esempio:

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

Elimina eventi di un certo tipo

Puoi usare il @event_type argomento per eliminare solo gli eventi di un determinato tipo.

Ecco un esempio di eliminazione di tutti gli eventi informativi.

EXECUTE msdb.dbo.sysmail_delete_log_sp  
    @event_type = 'information';

Elimina tutti gli eventi

Per eliminare tutti gli eventi, eseguire sysmail_delete_log_sp senza argomenti.

EXECUTE msdb.dbo.sysmail_delete_log_sp;

Eliminazione di elementi di posta

Il sysmail_delete_log_sp la procedura è esclusivamente per l'eliminazione delle voci dal registro. Non elimina gli elementi di posta dalle tabelle Posta database.

Usa sysmail_delete_mailitems_sp per eliminare gli elementi di posta elettronica dalle tabelle Posta database.