sysmail_event_log (Transact-SQL)
Область применения: SQL Server
Содержит одну строку для каждого сообщения Windows или SQL Server, возвращаемого системой Database Mail. (Сообщение в этом контексте ссылается на сообщение, например сообщение об ошибке, а не сообщение электронной почты.) Настройте параметр уровня ведения журнала с помощью диалогового окна "Настройка системных параметров " мастера настройки компонента Database Mail или хранимой процедуры sysmail_configure_sp , чтобы определить, какие сообщения возвращаются.
Имя столбца | Тип данных | Description |
---|---|---|
Log_id | int | Идентификатор элементов в журнале. |
event_type | varchar(11) | Тип уведомления, помещаемого в журнал. Допустимые значения: ошибки, предупреждения, информационные сообщения, сообщения об успешном завершении и дополнительные внутренние сообщения. |
log_date | datetime | Дата и время добавления записи в журнал. |
описание | nvarchar(max) | Текст добавленного сообщения. |
process_id | int | Идентификатор процесса внешней программы Database Mail. Обычно он изменяется при каждом запуске внешней программы Database Mail. |
mailitem_id | int | Идентификатор почтового отправления в очереди почты. Содержит NULL, если сообщение не относится к определенному элементу электронной почты. |
account_id | int | Account_id учетной записи, связанной с событием. Содержит NULL, если сообщение не относится к определенной учетной записи. |
last_mod_date | datetime | Дата и время последнего изменения строки. |
last_mod_user | sysname | Пользователь, внесший последнее изменение в строку. Для электронных сообщений это пользователь, отправивший письмо. Для сообщений, сформированных внешней программой Database Mail, это пользовательский контекст соответствующей программы. |
Замечания
При устранении неполадок с компонентом Database Mail выполните поиск в представлении sysmail_event_log событий, связанных с ошибками электронной почты. Некоторые сообщения, например информирующие о сбоях внешней программы Database Mail, не связаны с конкретными электронными сообщениями. Чтобы найти ошибки, связанные с определенными письмами, найдите mailitem_id неудачной электронной почты в представлении sysmail_faileditems, а затем выполните поиск sysmail_event_log сообщений, связанных с этим mailitem_id. Если ошибка возвращается из sp_send_dbmail, электронная почта не отправляется в систему Database Mail, и ошибка не отображается в этом представлении.
Если происходит ошибка доставки для определенной учетной записи, при выполнении повторных попыток компонент Database Mail задерживает сообщения об ошибках до тех пор, пока доставка почтового элемента не завершится либо успехом, либо неудачей. В случае конечного успеха все накопленные ошибки регистрируются в виде отдельных предупреждений, включая account_id. Это может привести к появлению предупреждений, несмотря на то, что электронное письмо было отправлено. В случае конечной ошибки доставки все предыдущие предупреждения регистрируются как одно сообщение об ошибке без account_id, так как все учетные записи завершились ошибкой.
Разрешения
Для доступа к этому представлению необходимо быть членом предопределенной роли сервера sysadmin или ролью базы данных DatabaseMailUserRole . Участники DatabaseMailUserRole, которые не являются членами роли sysadmin, могут видеть только события отправки сообщений электронной почты.
См. также
sysmail_faileditems (Transact-SQL)
Внешняя программа компонента Database Mail