sysmail_delete_log_sp (Transact-SQL)

Si applica a:SQL Server

Elimina eventi dal log di Posta elettronica database. È possibile eliminare tutti gli eventi nel log oppure solo quelli che soddisfano un particolare criterio relativo alla data o al tipo.

Convenzioni di sintassi Transact-SQL

Sintassi

sysmail_delete_log_sp [ [ @logged_before = ] 'logged_before' ]
    [ , [ @event_type = ] 'event_type' ]
[ ; ]

Argomenti

[ @logged_before = ] 'logged_before'

Elimina le voci fino alla data e all'ora specificate dall'argomento @logged_before . @logged_before è datetime con NULL come impostazione predefinita. che indica tutte le date.

[ @event_type = ] 'event_type'

Elimina le voci di log del tipo specificato come @event_type. @event_type è varchar(15) senza impostazione predefinita. Le voci valide sono:

  • success
  • warning
  • error
  • informational

NULL indica tutti i tipi di eventi.

Valori del codice restituito

0 (esito positivo) o 1 (errore).

Osservazioni:

Utilizzare la sysmail_delete_log_sp stored procedure per eliminare definitivamente le voci dal log di Posta elettronica database. Un argomento facoltativo consente di eliminare solo i record meno recenti tramite l'impostazione di una data e un'ora. Gli eventi con una data anteriore a quella specificata nell'argomento verranno eliminati. Un argomento facoltativo consente di eliminare solo gli eventi di un determinato tipo, specificati come argomento @event_type .

L'eliminazione di voci nel log di Posta elettronica database non comporta l'eliminazione delle voci di posta elettronica dalle tabelle Posta elettronica database. Utilizzare sysmail_delete_mailitems_sp per eliminare i messaggi di posta elettronica dalle tabelle Posta elettronica database.

Autorizzazioni

Questa stored procedure è di proprietà del ruolo db_owner . È possibile concedere EXECUTE autorizzazioni per qualsiasi utente, ma queste autorizzazioni possono essere sottoposte a override durante un aggiornamento di SQL Server.

Esempi

R. Elimina tutti gli eventi

Nell'esempio seguente vengono eliminati tutti gli eventi nel log di Posta elettronica database.

EXEC msdb.dbo.sysmail_delete_log_sp;
GO

B. Eliminare gli eventi meno recenti

Nell'esempio seguente vengono eliminati gli eventi nel log di Posta elettronica database precedenti al 9 ottobre 2022.

EXEC msdb.dbo.sysmail_delete_log_sp
    @logged_before = 'October 9, 2022';
GO

C. Eliminare tutti gli eventi di un determinato tipo

Nell'esempio seguente vengono eliminati i messaggi di operazione riuscita nel log di Posta elettronica database.

EXEC msdb.dbo.sysmail_delete_log_sp
    @event_type = 'success' ;
GO