sysmail_delete_log_sp (Transact-SQL)

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.

Icona di collegamento a un argomento Convenzioni della sintassi Transact-SQL

Sintassi

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

Argomenti

  • [ @logged_before = ] 'logged_before'
    Vengono eliminate le voci fino alla data e all'ora specificate dall'argomento logged_before. logged_before è di tipo datetime e il valore predefinito è NULL, che indica tutte le date.

  • [ @event_type = ] 'event_type'
    Vengono eliminate le voci del log del tipo specificato come event_type. event_type è di tipo varchar(15) e non prevede alcun valore predefinito. I possibili valori sono success, warning, error e informational. NULL indica tutti i tipi di eventi.

Valori restituiti

0 (esito positivo) o 1 (esito negativo)

Osservazioni

Utilizzare la stored procedure sysmail_delete_log_sp 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 altro argomento facoltativo consente di eliminare solo gli eventi di un determinato tipo, specificato nell'argomento event_type.

L'eliminazione delle voci dal log di Posta elettronica database non comporta la rimozione dei messaggi di posta elettronica dalle tabelle di Posta elettronica database. Per eliminare messaggi di posta elettronica dalle tabelle di Posta elettronica database, utilizzare sysmail_delete_mailitems_sp.

Autorizzazioni

Solo i membri del ruolo predefinito del server sysadmin possono accedere a questa procedura.

Esempi

A.Eliminazione di tutti gli eventi

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

EXECUTE msdb.dbo.sysmail_delete_log_sp ;
GO

B.Eliminazione degli eventi meno recenti

Nell'esempio seguente vengono eliminati gli eventi nel log di Posta elettronica database con una data anteriore al 9 ottobre 2005.

EXECUTE msdb.dbo.sysmail_delete_log_sp
    @logged_before = 'October 9, 2005' ;
GO

C.Eliminazione di tutti gli eventi di un determinato tipo

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

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

Vedere anche

Riferimento

sysmail_event_log (Transact-SQL)

sysmail_delete_mailitems_sp (Transact-SQL)

Concetti

Creazione di un processo di SQL Server Agent per l'archiviazione di messaggi e log eventi di Posta elettronica database