Condividi tramite


sysmail_event_log (Transact-SQL)

Contiene una riga per ogni messaggio di Windows o SQL Server restituito dal sistema di Posta elettronica database. Il termine messaggio in questo contesto indica un messaggio ad esempio di errore, non un messaggio di posta elettronica. Configurare il parametro Livello di registrazione utilizzando la finestra di dialogo Configurazione parametri di sistema della Configurazione guidata posta elettronica database oppure la stored procedure sysmail_configure_sp per determinare i messaggi restituiti.

Nome colonna

Tipo di dati

Descrizione

Log_id

int

Identificatore degli elementi nel log.

event_type

varchar(11)

Tipo di avviso inserito nel log. I possibili valori sono errori, avvisi, messaggi informativi, messaggi di operazione riuscita e altri messaggi interni.

log_date

datetime

Data e ora di creazione della voce del log.

description

nvarchar(max)

Testo del messaggio registrato.

process_id

int

ID di processo del programma esterno Posta elettronica database. In genere, viene modificato a ogni avvio del programma esterno Posta elettronica database.

mailitem_id

int

Identificatore dell'elemento di posta nella coda della posta. Se il messaggio non è correlato a un elemento di posta elettronica specifico, viene restituito NULL.

account_id

int

account_id dell'account correlato all'evento. Se il messaggio non è correlato a un account specifico, viene restituito NULL.

last_mod_date

datetime

Data e ora dell'ultima modifica della riga.

last_mod_user

sysname

Autore dell'ultima modifica della riga. Per i messaggi di posta elettronica corrisponde all'utente che ha inviato il messaggio. Per i messaggi generati dal programma esterno Posta elettronica database corrisponde al contesto utente del programma.

Osservazioni

Quando si risolvono i problemi relativi a Posta elettronica database, è possibile eseguire una ricerca nella vista sysmail_event_log per individuare gli eventi correlati a errori della posta elettronica. Alcuni messaggi, ad esempio quelli relativi agli errori del programma esterno Posta elettronica database, non sono associati a messaggi di posta elettronica specifici. Per cercare errori correlati a messaggi di posta elettronica specifici, verificare il parametro mailitem_id del messaggio in questione nella vista sysmail_faileditems e quindi cercare in sysmail_event_log i messaggi correlati a tale mailitem_id. Quando la stored procedure sp_send_dbmail restituisce un errore, il messaggio di posta elettronica non viene inviato al sistema di Posta elettronica database e l'errore non viene visualizzato in questa vista.

Quando i tentativi di recapito con singoli account hanno esito negativo, i messaggi di errore rimangono visualizzati durante i successivi tentativi di invio fino a quando il recapito dell'elemento di posta non ha definitivamente esito positivo o negativo. In caso di esito positivo finale, tutti i messaggi di errore generati vengono registrati come messaggi di avviso separati con il corrispondente account_id. Pertanto, è possibile che vengano visualizzati messaggi di avviso anche se il messaggio di posta elettronica è stato inviato. In caso di esito negativo finale del recapito, tutti i precedenti messaggi di avviso vengono registrati come un unico messaggio di errore senza account_id perché tutti gli account hanno generato un errore.

Autorizzazioni

È necessario essere membri del ruolo predefinito del server sysadmin o del ruolo del database DatabaseMailUserRole per accedere a questa vista. I membri di DatabaseMailUserRole che non appartengono al ruolo sysadmin possono visualizzare solo gli eventi relativi ai messaggi di posta elettronica che hanno inviato personalmente.