sysmail_event_log (Transact-SQL)

Gilt für:SQL Server

Enthält eine Zeile für jede Windows- oder SQL Server-Nachricht, die vom Datenbank-E-Mail-System zurückgegeben wird. (Nachricht bezieht sich in diesem Kontext auf eine Nachricht, z. B. eine Fehlermeldung, nicht auf eine E-Mail-Nachricht.) Konfigurieren Sie den Parameter Protokollierungsebene mithilfe des Dialogfelds Systemparameter konfigurieren des Datenbank-E-Mail Konfigurations-Assistenten oder der gespeicherten Prozedur sysmail_configure_sp, um zu bestimmen, welche Meldungen zurückgegeben werden.

Spaltenname Datentyp BESCHREIBUNG
Log_id int Der Bezeichner von Elementen im Protokoll.
event_type varchar(11) Die Art der Mitteilung, die in das Protokoll eingefügt wird. Mögliche Werte sind Fehler, Warnungen, Informationsmeldungen, Erfolgsmeldungen und zusätzliche interne Meldungen.
log_date datetime Das Datum und die Uhrzeit des Protokolleintrags.
Beschreibung nvarchar(max) Der Text der aufgezeichneten Meldung.
Prozess-ID int Die Prozess-ID des externen Datenbank-E-Mail-Programms. Diese ändert sich normalerweise mit jedem Start des externen Datenbank-E-Mail-Programms.
mailitem_id int Der Bezeichner des E-Mail-Elements in der E-Mail-Warteschlange. Bezieht sich die Meldung nicht auf ein bestimmtes E-Mail-Element, lautet der Wert NULL.
account_id int Die account_id des Kontos, das dem Ereignis zugeordnet ist. Ist die Meldung keinem bestimmten E-Mail-Element zugeordnet, lautet der Wert NULL.
last_mod_date datetime Das Datum und die Uhrzeit der letzten Änderung der Zeile.
last_mod_user sysname Der Benutzer, der die Zeile zuletzt geändert hat. Bei E-Mails handelt es sich dabei um den Absender der E-Mail. Bei Meldungen, die vom externen Datenbank-E-Mail-Programm generiert wurden, handelt es sich um den Benutzerkontext des Programms.

Bemerkungen

Wenn Sie Probleme mit der Datenbank-E-Mail behandeln, suchen Sie in der sysmail_event_log -Sicht nach Ereignissen, die sich auf E-Mail-Fehler beziehen. Einige Meldungen, z. B. Fehler des externen Datenbank-E-Mail-Programms, sind nicht bestimmten E-Mails zugeordnet. Um nach Fehlern zu suchen, die mit bestimmten E-Mails im Zusammenhang stehen, suchen Sie in der sysmail_faileditems -Sicht nach der mailitem_id der fehlgeschlagenen E-Mail, und durchsuchen Sie sysmail_event_log dann nach Meldungen, die sich auf diese mailitem_idbeziehen. Wenn sp_send_dbmaileinen Fehler zurückgibt, wird die E-Mail nicht an das Datenbank-E-Mail-System übermittelt, und der Fehler wird nicht in dieser Sicht angezeigt.

Falls einzelne Kontoübermittlungsversuche fehlschlagen, bewahrt die Datenbank-E-Mail die Fehlermeldungen während der Wiederholungsversuche auf, bis die Übermittlung des E-Mail-Elements entweder erfolgreich durchgeführt wird oder fehlschlägt. Im Fall eines Erfolgs werden die gesammelten Fehler als separate Warnungen, einschließlich der account_id, protokolliert. Dies kann dazu führen, dass Warnungen angezeigt werden, obwohl die E-Mail gesendet wurde. Im Fall eines Übermittlungsfehlers werden alle vorherigen Warnungen als eine Fehlermeldung protokolliert, ohne die account_id, da bei allen Konten ein Fehler aufgetreten ist.

Berechtigungen

Sie müssen ein Mitglied der festen Serverrolle sysadmin oder der Datenbankrolle DatabaseMailUserRole sein, um auf diese Sicht zugreifen zu können. Mitglieder von DatabaseMailUserRole , die nicht Mitglieder der Rolle sysadmin sind, können nur Ereignisse für E-Mails anzeigen, die sie selbst übermitteln.

Weitere Informationen

sysmail_faileditems (Transact-SQL)
Externes Datenbank-E-Mail-Programm