Share via


sysmail_event_log (Transact-SQL)

S’applique à :SQL Server

Contient une ligne pour chaque message Windows ou SQL Server retourné par le système Database Mail. (Le message dans ce contexte fait référence à un message tel qu’un message d’erreur, et non à un message électronique.) Configurez le paramètre Niveau de journalisation à l’aide de la boîte de dialogue Configurer les paramètres système de l’Assistant Configuration Database Mail ou de la procédure stockée sysmail_configure_sp pour déterminer les messages retournés.

Nom de la colonne Type de données Description
Log_id int Identificateur d'éléments du journal.
event_type varchar(11) Type d'avis inséré dans le journal. Les valeurs possibles sont les suivantes : erreurs, avertissements, messages d'information, messages de succès et messages internes supplémentaires.
log_date datetime Date et l'heure de création de l'entrée du journal.
description nvarchar(max) Texte du message en cours d'enregistrement.
process_id int L'ID de processus du programme externe de messagerie de base de données. Cette valeur change en principe à chaque démarrage du programme externe de messagerie de base de données.
mailitem_id int Identificateur de l'élément de messagerie dans la file d'attente des messages. La valeur est NULL si le message n'est pas associé à un élément de courrier électronique spécifique.
account_id int Account_id du compte lié à l’événement. La valeur est NULL si le message n'est pas associé à un compte spécifique.
last_mod_date datetime Date et heure de la dernière modification de la ligne.
last_mod_user sysname Dernier utilisateur qui a modifié la ligne. Pour les messages électroniques, il s'agit de l'utilisateur qui a envoyé le message. Pour les messages générés par le programme externe de messagerie de base de données, il s'agit du contexte utilisateur du programme.

Notes

Lors de la résolution des problèmes Database Mail, recherchez dans la vue sysmail_event_log les événements liés aux échecs de messagerie. Certains messages, comme ceux signalant l'échec du programme externe de messagerie de base de données, ne sont pas associés à des messages électroniques spécifiques. Pour rechercher des erreurs liées à des courriers électroniques spécifiques, recherchez les mailitem_id du courrier ayant échoué dans la vue sysmail_faileditems, puis recherchez les messages liés à ce mailitem_id dans le sysmail_event_log. Lorsqu’une erreur est retournée par sp_send_dbmail, le courrier électronique n’est pas envoyé au système Database Mail et l’erreur n’est pas affichée dans cette vue.

Lorsque les tentatives de remise d'un compte spécifique échouent, la messagerie de base de données conserve les messages d'erreur pendant les tentatives de reprises de comptes jusqu'à ce que la remise de l'élément de messagerie aboutisse ou échoue. En cas de réussite finale, toutes les erreurs accumulées sont consignées sous forme d’avertissements distincts, y compris les account_id. Il se peut alors que des avertissements s'affichent, bien que le message électronique ait été envoyé. En cas d’échec de remise ultime, tous les avertissements précédents sont consignés sous la forme d’un message d’erreur sans account_id, car tous les comptes ont échoué.

Autorisations

Vous devez être membre du rôle serveur fixe sysadmin ou du rôle de base de données DatabaseMailUserRole pour accéder à cette vue. Les membres de DatabaseMailUserRole qui ne sont pas membres du rôle sysadmin peuvent uniquement voir les événements pour les e-mails qu’ils envoient.

Voir aussi

sysmail_faileditems (Transact-SQL)
Programme externe de la messagerie de base de données