Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
применимо к:SQL Server
Управляемому экземпляру SQL Azure
Объекты конфигурации базы данных предоставляют способ настройки параметров, которые следует использовать при отправке сообщения электронной почты из приложения базы данных или агента SQL Server.
Пользователю можно предоставить безопасный доступ к профилям Database Mail. Профили используют учетные записи Database Mail.
На следующем рисунке показаны два профиля, три учетные записи и три пользователя. Пользователь 1 имеет доступ к профилю 1, в котором используются учетная запись 1 и учетная запись 2. Пользователь 3 имеет доступ к профилю 2, в котором используются учетная запись 2 и учетная запись 3. Пользователь 2 имеет доступ одновременно к профилю 1 и профилю 2.
Учетная запись почтовой службы базы данных
Учетная запись Database Mail содержит сведения, которые Microsoft SQL Server использует для отправки сообщений электронной почты на SMTP-сервер. Каждая учетная запись содержит сведения для одного сервера электронной почты.
Компонент Database Mail поддерживает три метода проверки подлинности для связи с SMTP-сервером:
Проверка подлинности Windows: Database Mail использует учетные данные учетной записи службы Windows компонента Database Engine SQL Server для проверки подлинности на SMTP-сервере.
Обычная проверка подлинности: компонент Database Mail использует указанные имя пользователя и пароль, чтобы проверить подлинность на SMTP-сервере.
Анонимный доступ: SMTP-серверу не требуется проверка подлинности. Компонент Database Mail не будет использовать никаких учетных данных для проверки подлинности на SMTP-сервере.
Сведения об учетной записи хранятся в msdb системной базе данных, включая имя, описание, адрес электронной почты, ответ на электронную почту, сервер электронной почты и сведения о проверке подлинности сервера.
Мастер настройки компонента Database Mail обеспечивает удобный способ создания и управления учетными записями. Вы также можете использовать хранимые в msdb процедуры конфигурации для создания учетных записей и управления ими.
Профиль компонента Database Mail
Профиль Database Mail — это упорядоченная коллекция связанных учетных записей Database Mail. Приложения, отправляющие электронную почту при помощи компонента Database Mail, чаще используют профили, чем применяют учетные записи напрямую.
Отделение сведений об отдельных почтовых серверах от объектов, используемых приложением, повышает гибкость и надежность: профили обеспечивают автоматическое переключение при отказе, благодаря чему, если один почтовый сервер не отвечает, Database Mail может автоматически отправить сообщение через другой почтовый сервер. Администраторы базы данных могут добавлять, удалять и перенастраивать учетные записи без внесения изменений в программный код приложений или в шаги задания.
Профили также помогают администраторам управлять доступом к электронной почте. Для отправки сообщений с помощью компонента Database Mail требуется членство в роли DatabaseMailUserRole . Профили позволяют администраторам более гибко управлять доступом к функции отправки сообщений электронной почты и определять, какие учетные записи для этого используются.
Профиль может быть общедоступным или частным. По умолчанию профиль является закрытым и предоставляет доступ только членам предопределенной роли сервера sysadmin .
Общедоступные профили доступны для всех членов роли базы данных DatabaseMailUserRole в системной
msdbбазе данных. Они позволяют всем членам роли DatabaseMailUserRole отправлять электронные сообщения с использованием профиля.Частные профили определяются для субъектов безопасности в
msdbбазе данных. Они разрешают только указанным пользователям базы данных, ролям и членам фиксированной серверной роли sysadmin отправлять электронную почту с помощью этого профиля. Пользователи должны получить разрешение от sysadmin для использования закрытого профиля. Кроме того, разрешение EXECUTE дляsp_send_dbmailхранимой процедуры предоставляется только членам DatabaseMailUserRole. Чтобы пользователь мог отправлять электронную почту, системный администратор должен добавить его к роли базы данных DatabaseMailUserRole .
Номера последовательности профилей
Профили повышают надежность в тех случаях, когда сервер электронной почты становится недоступным или не может обрабатывать сообщения. Каждая учетная запись в профиле имеет свой порядковый номер. Порядковый номер определяет порядок, в соответствии с которым компонент Database Mail использует учетные записи в профиле.
Для новых сообщений электронной почты компонент Database Mail использует последнюю учетную запись, с которой было успешно отправлено сообщение, либо учетную запись с наименьшим порядковым номером, если сообщения еще не отправлялись. Если использование этой учетной записи завершилось с ошибкой, компонент Database Mail использует учетную запись со следующим порядковым номером, и так до тех пор, пока сообщение не будет успешно отослано, либо пока не окажется безуспешным использование учетной записи с наибольшим порядковым номером. Если отправка сообщения от имени учетной записи с наибольшим порядковым номером также завершилась ошибкой, то компонент Database Mail приостанавливает попытки отправки сообщения на время, заданное параметром AccountRetryDelay хранимой процедуры sysmail_configure_sp. Затем он возобновляет их отправку, начиная с учетной записи с наименьшим порядковым номером.
Используйте параметр AccountRetryAttempts из sysmail_configure_sp для настройки указанного количества попыток, которое процесс внешней почты предпринимает для отправки сообщения электронной почты с использованием каждой учетной записи в указанном профиле.
Если существует больше одной учетной записи с одним и тем же порядковым номером, компонент Database Mail использует только одну из них для данного почтового сообщения. В этом случае компонент Database Mail не указывает, какая учетная запись используется для этого порядкового номера, и не гарантирует того, что от сообщения к сообщению используется одна и та же учетная запись.
Задачи настройки компонента Database Mail
Следующая таблица описывает задачи конфигурации компонента Database Mail.
| Задача конфигурации | Ссылка на раздел |
|---|---|
| Содержит инструкции по созданию учетных записей компонента Database Mail. | Создание учетной записи Database Mail |
| Описывает, как создавать профили Database Mail. | Создайте профиль Database Mail |
| Содержит инструкции по настройке компонента Database Mail. | Настройка Database Mail |
Дополнительные задачи конфигурации базы данных (системные хранимые процедуры)
Хранимые процедуры конфигурации компонента Database Mail находятся в msdb базе данных.
Следующие таблицы перечисляют хранимые процедуры, используемые для настройки компонента Database Mail и управления им.
Параметры компонента Database Mail
| Имя | Описание |
|---|---|
| sysmail_configure_sp (Transact-SQL) | Изменяет настройки конфигурации компонента Database Mail. |
| sysmail_help_configure_sp (Transact-SQL) | Отображает настройки конфигурации компонента Database Mail. |
Учетные записи и профили
| Имя | Описание |
|---|---|
| sysmail_add_profileaccount_sp (Transact-SQL) | Добавляет почтовую учетную запись в профиль Database Mail. |
| sysmail_delete_account_sp (Transact-SQL) | Удаляет учетную запись Database Mail. |
| sysmail_delete_profile_sp (Transact-SQL) | Удаляет профиль Database Mail. |
| sysmail_delete_profileaccount_sp (Transact-SQL) | Удаляет учетную запись из профиля Database Mail. |
| sysmail_help_account_sp (Transact-SQL) | Выводит сведения о учетных записях компонента Database Mail. |
| sysmail_help_profile_sp (Transact-SQL) | Выводит сведения об одном или нескольких профилях Database Mail. |
| sysmail_help_profileaccount_sp (Transact-SQL) | Перечисляет учетные записи, связанные с одним или несколькими профилями компонента Database Mail. |
| sysmail_update_account_sp (Transact-SQL) | Обновляет данные существующей учетной записи компонента Database Mail. |
| sysmail_update_profile_sp (Transact-SQL) | Изменяет описание или имя профиля компонента Database Mail. |
| sysmail_update_profileaccount_sp (Transact-SQL) | Обновляет номер последовательности учетной записи в профиле Database Mail. |
Безопасность
| Имя | Описание |
|---|---|
| sysmail_add_principalprofile_sp (Transact-SQL) | Предоставляет субъекту базы данных разрешение использовать профиль Database Mail. |
| sysmail_delete_principalprofile_sp (Transact-SQL) | Удаляет у пользователя базы данных разрешение на использование общедоступного или частного профиля Database Mail. |
| sysmail_help_principalprofile_sp (Transact-SQL) | Выводит сведения о профиле Database Mail для указанного пользователя базы данных. |
| sysmail_update_principalprofile_sp (Transact-SQL) | Обновляет сведения о разрешениях для заданного пользователя базы данных. |
Состояние системы
| Имя | Описание |
|---|---|
| sysmail_start_sp (Transact-SQL) | Запускает внешнюю программу компонента Database Mail и соответствующую очередь компонента SQL Service Broker. |
| sysmail_stop_sp (Transact-SQL) | Останавливает внешнюю программу компонента Database Mail и связанную с ней очередь компонента SQL Service Broker. |
| sysmail_help_status_sp (Transact-SQL) | Показывает, запущен ли компонент Database Mail. |