sql >> Databasteknik >  >> RDS >> Sqlserver

Ta bort händelser från databasens e-postlogg i SQL Server (T-SQL)

När du använder Database Mail för att skicka e-post i SQL Server kan du använda sysmail_delete_log_sp lagrad procedur för att ta bort objekt från händelseloggen.

Du kan välja att radera alla händelser, händelser baserat på deras loggade datum (dvs. före ett visst datum) eller händelser baserat på händelsens typ.

Visa alla händelser

Innan du börjar ta bort några händelser kanske du vill ta en titt på dem. Du kan göra detta med sysmail_event_log visa.

SELECT * FROM msdb.dbo.sysmail_event_log;

Ta bort gamla händelser

För att radera alla händelser som loggades före ett visst datum, använd @logged_before argument.

Exempel:

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

Ta bort händelser av en viss typ

Du kan använda @event_type argument för att endast ta bort händelser av en given typ.

Här är ett exempel på att radera alla informationshändelser.

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

Ta bort alla händelser

För att radera alla händelser, kör sysmail_delete_log_sp utan några argument.

EXECUTE msdb.dbo.sysmail_delete_log_sp;

Ta bort postförsändelser

sysmail_delete_log_sp proceduren är endast för att ta bort poster från loggen. Det tar inte bort postförsändelserna från Databas Mail-tabellerna.

Använd sysmail_delete_mailitems_sp för att ta bort e-postobjekt från Databas Mail-tabellerna.


  1. Hur man optimerar PostgreSQL logisk replikering

  2. Hur inkluderar man det totala antalet returnerade rader i resultatuppsättningen från kommandot SELECT T-SQL?

  3. Oracle-aggregat för att sammanfoga strängar med kommatecken och för att skriva anpassade aggregat

  4. Hur väljer och optimerar man orakelindex?