sysmail_unsentitems (Transact-SQL)
Область применения: SQL Server Управляемый экземпляр SQL Azure
Содержит одну строку для каждого сообщения Database Mail с отступом или состоянием повтора. Сообщения в неотправленном состоянии или состоянии повторной попытки все еще находятся в очереди и могут быть отправлены в любой момент. Сообщения могут иметь неотступное состояние по следующим причинам:
Сообщение является новым, и, хотя оно было поставлено в очередь сообщений, компонент Database Mail работает над другими сообщениями и еще не дошел до данного сообщения.
Компонент Database Mail не запущен, и никакие сообщения не отправляются.
Сообщения могут иметь состояние повтора по следующим причинам:
- Компонент Database Mail совершил попытку отправки сообщения, но отсутствует связь с почтовым SMTP-сервером. Компонент Database Mail продолжит попытку отправки сообщения, используя другие учетные записи компонента Database Mail, назначенные профилю, который отправляет сообщение. Если учетные записи не могут отправлять почту, компонент Database Mail ожидает времени, настроенного для параметра "Повторная задержка учетной записи", а затем попытается отправить сообщение еще раз. Компонент Database Mail использует параметр "Попытка повтора учетной записи", чтобы определить количество попыток отправки сообщения. Сообщения сохраняют состояние повтора до тех пор, пока компонент Database Mail пытается отправить сообщение.
Используйте это представление, если хотите увидеть, сколько сообщений ожидает отправки и как долго они находятся в очереди. Как правило, количество неотступных сообщений будет низким. Проведите оценку производительности во время обычной работы, чтобы определить подходящее для данной конфигурации число сообщений в очереди.
Чтобы просмотреть все сообщения, обработанные компонентом Database Mail, используйте sysmail_allitems (Transact-SQL). Чтобы просмотреть только сообщения с состоянием сбоя, используйте sysmail_faileditems (Transact-SQL). Чтобы просмотреть только отправленные сообщения, используйте sysmail_sentitems (Transact-SQL).
Имя столбца | Тип данных | Description |
---|---|---|
mailitem_id | int | Идентификатор почтового отправления в очереди почты. |
profile_id | int | Идентификатор профиля, использованного для передачи сообщения. |
Получателей | varchar(max) | Электронные адреса получателей сообщения. |
copy_recipients | varchar(max) | Электронные адреса получателей копий сообщения. |
blind_copy_recipients | varchar(max) | Электронные адреса получателей копий сообщения, чьи имена не будут отображаться в заголовке сообщения. |
subject | nvarchar(510) | Строка темы сообщения. |
текст | varchar(max) | Текст сообщения. |
body_format | varchar(20) | Формат тела сообщения. Возможные значения: TEXT и HTML. |
importance | varchar(6) | Параметр важности сообщения. |
чувствительность | varchar(12) | Параметр конфиденциальности сообщения. |
file_attachments | varchar(max) | Список имен файлов, разделенных точкой с запятой, который прикреплен к сообщению электронной почты. |
attachment_encoding | varchar(20) | Тип вложения. |
query | varchar(max) | Запрос, выполненный почтовой программой. |
execute_query_database | sysname | Контекст базы данных, в котором почтовая программа выполнила запрос. |
attach_query_result_as_file | bit | Если значение равно 0, результаты запроса были включены в тело сообщения после его содержимого. Если значение равно 1, результаты были возвращены в виде вложения. |
query_result_header | bit | Если значение равно 1, результаты запроса содержали заголовки столбцов. Если значение равно 0, результаты запроса не включали заголовков столбцов. |
query_result_width | int | Параметр query_result_width сообщения. |
query_result_separator | char(1) | Символ, используемый для разделения столбцов в выходных данных запроса. |
exclude_query_output | bit | Параметр exclude_query_output сообщения. Дополнительные сведения см. в разделе sp_send_dbmail (Transact-SQL). |
append_query_error | bit | Параметр append_query_error сообщения. 0 означает, что компонент Database Mail не отсылает электронное сообщение, если в запросе содержится ошибка. |
send_request_date | datetime | Дата и время помещения сообщения в очередь почты. |
send_request_user | sysname | Пользователь, отправивший сообщение. Это контекст пользовательской процедуры почты базы данных, а не поля From сообщения. |
sent_account_id | int | Идентификатор учетной записи компонента Database Mail, используемой для отсылки этого сообщения. Всегда NULL для этого представления. |
sent_status | varchar(8) | Не будет отступом, если database Mail не попытается отправить сообщение. Будет повторяться, если компонент Database Mail не удалось отправить сообщение, но повторите попытку. |
sent_date | datetime | Дата и время, когда компонент Database Mail последний раз пытался отправить сообщение. Имеет значение NULL, если компонент Database Mail не производил попытки отправки сообщения. |
last_mod_date | datetime | Дата и время последнего изменения строки. |
last_mod_user | sysname | Пользователь, внесший последнее изменение в строку. |
Замечания
При поиске и устранении неполадок в компоненте Database Mail это представление может помочь установить природу проблемы путем отображения числа ожидающих отправки сообщений и продолжительности их ожидания. Если в данный момент сообщения не отправляются, компонент Database Mail может быть не запущен или могут быть проблемы с сетью, что не позволяет компоненту связаться с SMTP-серверами. Если многие из неотступных сообщений имеют одинаковые profile_id, может возникнуть проблема с SMTP-сервером. Попробуйте добавить дополнительные учетные записи в профиль. Если сообщения отправляются, но сообщения тратят слишком много времени в очереди, SQL Server может потребовать больше ресурсов для обработки объема необходимых сообщений.
Разрешения
Предоставляется предопределенной роли сервера sysadmin и роли базы данных DatabaseMailUserRole . При выполнении членом предопределенной роли сервера sysadmin в этом представлении отображаются все неотступные или повторные сообщения. Все остальные пользователи видят только неотступные или повторные попытки отправки сообщений.