Share via


sysmail_delete_mailitems_sp (Transact-SQL)

Data aggiornamento: 14 aprile 2006

Elimina definitivamente messaggi di posta elettronica dalle tabelle interne di Posta elettronica database.

Icona di collegamento a un argomentoConvenzioni della sintassi Transact-SQL

Sintassi

sysmail_delete_mailitems_sp  [ [ @sent_before = ] 'sent_before' ]
    [ , [ @sent_status = ] 'sent_status' ]

Argomenti

  • [ @sent_before= ] 'sent_before'
    Elimina i messaggi di posta elettronica anteriori alla data e all'ora specificate nell'argomento sent_before. sent_before è di tipo datetime e il valore predefinito è NULL, che indica tutte le date.
  • [ @sent_status= ] 'sent_status'
    Elimina i messaggi di posta elettronica del tipo specificato in sent_status. sent_status è di tipo varchar(8) e non prevede alcun valore predefinito. I possibili valori sono sent, unsent, retrying e failed. NULL indica tutti gli stati.

Osservazioni

I messaggi di Posta elettronica database e i relativi allegati sono archiviati nel database msdb. È consigliabile eliminare periodicamente alcuni messaggi per evitare che le dimensioni di msdb aumentino oltre il livello previsto e per rispettare il programma di memorizzazione dei documenti definito nella propria organizzazione. Utilizzare la stored procedure sysmail_delete_mailitems_sp per eliminare definitivamente messaggi di posta elettronica dalle tabelle di Posta elettronica database. Un argomento facoltativo consente di eliminare solo i messaggi di posta elettronica meno recenti tramite l'impostazione di una data e un'ora. I messaggi di posta elettronica con una data anteriore a quella specificata nell'argomento verranno eliminati. Un altro argomento facoltativo consente di eliminare solo i messaggi di posta elettronica di un determinato tipo, specificato nell'argomento sent_status. A partire da SQL Server 2005 Service Pack 1, è necessario specificare un argomento per @sent_before o per @sent_status. Entrambi gli argomenti non possono essere NULL.

L'eliminazione di un messaggio di posta elettronica comporta la rimozione degli allegati correlati a tale messaggio, ma non la rimozione delle voci corrispondenti in sysmail_event_log. Per eliminare elementi dal log, utilizzare sysmail_delete_log_sp.

Autorizzazioni

Per impostazione predefinita, l'autorizzazione per l'esecuzione di questa stored procedure viene concessa ai membri del ruolo predefinito del server sysadmin e di DatabaseMailUserRole. I membri del ruolo predefinito del server sysadmin possono eseguire questa procedura per eliminare i messaggi di posta elettronica inviati da tutti gli utenti. I membri di DatabaseMailUserRole possono eliminare solo i messaggi di posta elettronica che hanno inviato personalmente.

Valori restituiti

0 (esito positivo) o 1 (esito negativo)

Esempi

A. Eliminazione di tutti i messaggi di posta elettronica

Nell'esempio seguente vengono eliminati tutti i messaggi di posta elettronica nel sistema di Posta elettronica database.

DECLARE @GETDATE datetime
SET @GETDATE = GETDATE()
EXECUTE msdb.dbo.sysmail_delete_mailitems_sp  @sent_before = @GETDATE;
GO

B. Eliminazione dei messaggi di posta elettronica meno recenti

Nell'esempio seguente vengono eliminati i messaggi di posta elettronica nel log di Posta elettronica database con una data anteriore a October 9, 2005.

EXECUTE msdb.dbo.sysmail_delete_mailitems_sp 
    @sent_before = 'October 9, 2005' ;
GO

C. Eliminazione di tutti i messaggi di posta elettronica di un determinato tipo

Nell'esempio seguente vengono eliminati dal log di Posta elettronica database tutti i messaggi di posta elettronica che non è stato possibile inviare.

EXECUTE msdb.dbo.sysmail_delete_mailitems_sp 
    @sent_status = 'failed' ;
GO

Vedere anche

Riferimento

sysmail_allitems (Transact-SQL)
sysmail_event_log (Transact-SQL)
sysmail_mailattachments (Transact-SQL)

Altre risorse

Procedura: Creazione di un processo di SQL Server Agent per l'archiviazione di messaggi e log eventi di Posta elettronica database
Risoluzione dei problemi relativi a Posta elettronica database

Guida in linea e informazioni

Assistenza su SQL Server 2005

Cronologia modifiche

Versione Cronologia

14 aprile 2006

Nuovo contenuto:
  • Aggiunta del requisito della specifica di uno degli argomenti nel Service Pack 1.