Поделиться через


Структура компонента Database Mail

Изменения: 5 декабря 2005 г.

Компонент Database Mail состоит из следующих основных компонентов.

  • Компоненты настройки и безопасности
    Компонент Database Mail хранит сведения о конфигурации и безопасности в базе данных msdb. Объекты настройки и безопасности создают профили и учетные записи, используемые компонентом Database Mail.
  • Компоненты обмена сообщениями
    База данных msdb выступает в качестве базы данных обслуживания почты и содержит объекты обмена сообщениями, которыми компонент Database Mail пользуется для отправки сообщений электронной почты. К ним относится хранимая процедура sp_send_dbmail и структуры данных, содержащие сведения о сообщениях.
  • Исполняемый файл компонента Database Mail
    Исполняемый файл компонента Database Mail является внешней программой, которая считывает из очереди в базе данных msdb и отправляет сообщения на серверы электронной почты.
  • Компоненты протоколирования и контроля
    Компонент Database Mail записывает данные протоколирования в базу данных msdb и в журнал событий приложений Microsoft Windows.

Для эффективной работы с компонентом Database Mail не обязательно понимать его структуру. Однако знание его компонентов и понимание их взаимодействия может помочь в проектировании приложений и устранении любых возможных неполадок.

На следующем рисунке показан обзор архитектуры компонента Database Mail.

msdb отправляет сообщения на почтовый SMTP-сервер

Компонент Database Mail спроектирован по принципу очереди на основе технологий компонента Service Broker. Когда пользователь выполняет хранимую процедуру sp_send_dbmail, в почтовую очередь вставляется новый элемент и создается запись, содержащая сообщение электронной почты. При вставке новой записи в почтовую очередь запускается внешний процесс компонента Database Mail (DatabaseMail90.EXE). Внешний процесс считывает данные электронной почты и отправляет сообщение электронной почты соответствующему серверу или серверам электронной почты. Внешний процесс вставляет элемент в очередь состояния в соответствии с результатами операции отправки. При вставке новой записи в очередь состояний запускается внутренняя хранимая процедура, которая выполняет обновление состояния электронного сообщения. Кроме сохранения отправленного (или неотправленного) сообщения электронной почты, компонент Database Mail также записывает в системные таблицы все вложения. Представления компонента Database Mail содержат сведения о состоянии сообщений для диагностики и устранения неполадок в работе, а хранимые процедуры позволяют администрировать очередь компонента Database Mail.

Только члены роли DatabaseMailUserRole в базе данных msdb могут выполнять sp_send_dbmail.

В этом подразделе

См. также

Задачи

Устранение неполадок в работе компонента Database Mail

Основные понятия

Объекты конфигурации компонента Database Mail
База данных обслуживания почты
Внешняя программа компонента Database Mail

Другие ресурсы

Представления компонента Database Mail (Transact-SQL)
Хранимые процедуры служб Database Mail и SQL Mail (Transact-SQL)

Справка и поддержка

Получение помощи по SQL Server 2005

Журнал изменений

Версия Журнал

5 декабря 2005 г.

Новое содержимое
  • Рисунок с архитектурой компонента Database Mail.