Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Usuń zdarzenia z dziennika poczty bazy danych w programie SQL Server (T-SQL)

Korzystając z poczty bazy danych do wysyłania wiadomości e-mail w programie SQL Server, można użyć sysmail_delete_log_sp procedura składowana do usuwania elementów z dziennika zdarzeń.

Możesz wybrać usunięcie wszystkich wydarzeń, wydarzeń na podstawie ich zarejestrowanych dat (tj. przed określoną datą) lub wydarzeń na podstawie typu wydarzenia.

Wyświetl wszystkie wydarzenia

Zanim zaczniesz usuwać jakiekolwiek wydarzenia, warto się im przyjrzeć. Możesz to zrobić za pomocą sysmail_event_log widok.

SELECT * FROM msdb.dbo.sysmail_event_log;

Usuń stare wydarzenia

Aby usunąć wszystkie zdarzenia, które zostały zarejestrowane przed określoną datą, użyj @logged_before argument.

Przykład:

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

Usuń zdarzenia określonego typu

Możesz użyć @event_type argument, aby usunąć tylko zdarzenia danego typu.

Oto przykład usuwania wszystkich zdarzeń informacyjnych.

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

Usuń wszystkie wydarzenia

Aby usunąć wszystkie zdarzenia, wykonaj sysmail_delete_log_sp bez żadnych argumentów.

EXECUTE msdb.dbo.sysmail_delete_log_sp;

Usuwanie elementów poczty

sysmail_delete_log_sp procedura służy wyłącznie do usuwania wpisów z logu. Nie usuwa elementów poczty z tabel bazy danych Poczta.

Użyj sysmail_delete_mailitems_sp aby usunąć elementy wiadomości e-mail z tabel poczty bazy danych.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. OPCJA (REKOMPILACJA) jest zawsze szybsza; Czemu?

  2. Efektywnie konwertuj wiersze na kolumny w serwerze sql

  3. Jak zaktualizować z SELECT w SQL Server?

  4. Funkcje rankingowe w SQL Server

  5. Wyjaśnienie niektórych operatorów SQL Server