Объекты конфигурации компонента Database Mail

Компонент Database Mail предоставляет два типа объектов конфигурации.

  • Профили компонента Database Mail являются наборами учетных записей.

  • В учетных записях компонента Database Mail содержатся сведения для серверов электронной почты.

В компоненте Database Mail содержатся хранимые процедуры конфигурации в базе данных msdb. Для использования этих процедур напрямую можно создавать сценарии Transact-SQL.

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

В целях увеличения безопасности у компонента Database Mail имеется возможность управлять доступом к профилям электронной почты. Профиль может быть как открытым, так и закрытым. Открытые профили доступны всем членам роли базы данных DatabaseMailUserRole в базе данных msdb. Это позволяет всем членам роли DatabaseMailUserRole отправлять электронную почту при помощи данных профилей. Персональные профили задаются для участников безопасности базы данных msdb. Они позволяют отправлять электронную почту только определенным пользователям базы данных, ролям и членам предопределенной роли сервера sysadmin. По умолчанию профиль является личным и предоставляет доступ только элементам предопределенной роли сервера sysadmin. Пользователи должны получить разрешение от sysadmin для использования личного профиля. Кроме того, разрешение на выполнение хранимой процедуры sp_send_dbmail выдается только членам роли DatabaseMailUserRole. Чтобы пользователь мог отправлять электронную почту, системный администратор должен добавить этого пользователя к роли базы данных DatabaseMailUserRole.

На следующем рисунке показана связь между учетными записями, профилями и пользователями. Обратите внимание, что пользователь может иметь разрешение на использование более чем одного профиля, но только один профиль может быть профилем, установленным по умолчанию. Каждый профиль может использовать более одной учетной записи. Учетная запись может использоваться более чем одним профилем.

Связи пользователей, профилей и учетных записей

На рисунке показаны два профиля, три учетные записи и три пользователя. Пользователь 1 имеет доступ к профилю 1, в котором используются учетная запись 1 и учетная запись 2. Пользователь 3 имеет доступ к профилю 2, в котором используются учетная запись 2 и учетная запись 3. Пользователь 2 имеет доступ одновременно к профилю 1 и профилю 2.