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

ОБЛАСТЬ ПРИМЕНЕНИЯ: даSQL Server нетБаза данных SQL Azure нетAzure Synapse Analytics (хранилище данных SQL) нетParallel Data Warehouse APPLIES TO: yesSQL Server noAzure SQL Database noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse

Компонент Database Mail имеет два объекта конфигурации. Объекты конфигурации баз данных позволяют настраивать параметры компонента Database Mail, используемые при отправке писем приложениями базы данных или агентом SQL ServerSQL Server.Database Mail has two configuration objects: The database configuration objects provide a way for you to configure the settings that Database mail should use when sending an email from your database application or SQL ServerSQL Server Agent.

  • Учетные записи компонента Database MailDatabase Mail accounts

  • Профили компонента Database MailDatabase Mail profiles

Связи объектов конфигурации компонента Database MailDatabase Mail Configuration Object Relationship

На рисунке показаны два профиля, три учетные записи и три пользователя.The illustration shows two profiles, three accounts, and three users. Пользователь 1 имеет доступ к профилю 1, в котором используются учетная запись 1 и учетная запись 2.User 1 has access to Profile 1, which uses Account 1 and Account 2. Пользователь 3 имеет доступ к профилю 2, в котором используются учетная запись 2 и учетная запись 3.User 3 has access to Profile 2, which uses Account 2 and Account 3. Пользователь 2 имеет доступ одновременно к профилю 1 и профилю 2.User 2 has access to both Profile 1 and Profile 2.

Связи пользователей, профилей и учетных записейRelationship of users, profiles, and accounts

Учетная запись компонента Database MailDatabase Mail Account

Учетная запись компонента Database Mail содержит сведения, которые Microsoft SQL ServerSQL Server использует для отправки сообщений электронной почты на SMTP-сервер.A Database Mail account contains the information that Microsoft SQL ServerSQL Server uses to send e-mail messages to an SMTP server. Каждая учетная запись содержит сведения для одного сервера электронной почты.Each account contains information for one e-mail server.

Компонент Database Mail поддерживает три метода проверки подлинности для связи с SMTP-сервером:A Database Mail supports three methods of authentication to communicate with an SMTP server:

  • Проверка подлинности Windows: компонент Database Mail использует для проверки подлинности на SMTP-сервере учетные данные учетной записи службы Компонент SQL Server Database EngineSQL Server Database Engine Windows.Windows Authentication: Database Mail uses the credentials of the Компонент SQL Server Database EngineSQL Server Database Engine Windows service account for authentication on the SMTP server.

  • Обычная проверка подлинности: компонент Database Mail использует указанные имя пользователя и пароль, чтобы проверить подлинность на SMTP-сервере.Basic Authentication: Database Mail uses the username and password specified to authenticate on the SMTP server.

  • Анонимная проверка подлинности: SMTP-серверу не требуется проверка подлинности.Anonymous Authentication: The SMTP server does not require any authentication. Компонент Database Mail не будет использовать никаких учетных данных для проверки подлинности на SMTP-сервере.Database Mail will not use any credentials to authenticate on the SMTP server.

Сведения об учетных записях хранятся в базе данных msdb .Account information is stored in the msdb database. Каждая учетная запись содержит следующие сведения:Each account consists of the following information:

  • Имя учетной записи.The name of the account.

  • Описание учетной записи.A description of the account.

  • Адрес электронной почты учетной записи.The e-mail address of the account.

  • Отображаемое имя учетной записи.The display name for the account.

  • Адрес электронной почты, который будет использоваться в качестве обратного адреса для учетной записи.The e-mail address to use as the reply-to information for the account.

  • Имя сервера электронной почты.The name of the e-mail server.

  • Тип сервера электронной почты.The type of the e-mail server. Для MicrosoftMicrosoft SQL ServerSQL Serverэто всегда протокол SMTP.For MicrosoftMicrosoft SQL ServerSQL Server, this is always Simple Mail Transfer Protocol(SMTP).

  • Номер порта сервера электронной почты.The port number of the e-mail server.

  • Битовый столбец, который указывает, используется ли протокол Secure Sockets Layer (SSL) в соединении с почтовым сервером SMTP.A bit column indicating whether the connection to the SMTP mail server is made using Secure Sockets Layer (SSL).

  • Битовый столбец, который указывает, используются ли при установке соединения с SMTP-сервером учетные данные, определенные для компонента Компонент SQL Server Database EngineSQL Server Database Engine.A bit column indicating whether the connection to the SMTP server is made using the credentials configured for the Компонент SQL Server Database EngineSQL Server Database Engine.

  • Имя пользователя для проверки подлинности на сервере электронной почты, если сервер электронной почты требует проверки подлинности.The user name to use for authentication to the e-mail server, if the e-mail server requires authentication.

  • Пароль для проверки подлинности на сервере электронной почты, если сервер электронной почты требует проверки подлинности.The password to use for authentication to the e-mail server, if the e-mail server requires authentication.

Мастер настройки компонента Database Mail обеспечивает удобный способ создания и управления учетными записями.The Database Mail Configuration Wizard provides a convenient way to create and manage accounts. Можно также использовать хранимые процедуры конфигурации в базе данных msdb для создания учетных записей и управления ими.You can also use the configuration stored procedures in msdb to create and manage accounts.

Профиль компонента Database MailDatabase Mail Profile

Профиль Database Mail является упорядоченной коллекцией связанных учетных записей компонента Database Mail.A Database Mail profile is an ordered collection of related Database Mail accounts. Приложения, отправляющие электронную почту при помощи компонента Database Mail, чаще используют профили, чем применяют учетные записи напрямую.Applications that send e-mail using Database Mail specify profiles, instead of using accounts directly. Отделение сведений об индивидуальных серверах электронной почты от используемых приложениями объектов позволяет увеличить гибкость и надежность системы: профили обеспечивают автоматическую отработку отказа, поэтому если один из серверов электронной почты недоступен, то компонент Database Mail может автоматически отправить почту при помощи другого сервера электронной почты.Separating information about the individual e-mail servers from the objects that the application uses improves flexibility and reliability: profiles provide automatic failover, so that if one e-mail server is unresponsive, Database Mail can automatically send mail to another e-mail server. Администраторы базы данных могут добавлять, удалять и перенастраивать учетные записи без внесения изменений в программный код приложений или в шаги задания.Database administrators can add, remove, or reconfigure accounts without requiring changes to application code or job steps.

Профили также помогают администраторам управлять доступом к электронной почте.Profiles also help database administrators control access to e-mail. Для отправки сообщений с помощью компонента Database Mail требуется членство в роли DatabaseMailUserRole .Membership in the DatabaseMailUserRole is required to send Database Mail. Профили позволяют администраторам более гибко управлять доступом к функции отправки сообщений электронной почты и определять, какие учетные записи для этого используются.Profiles provide additional flexibility for administrators to control who sends mail and which accounts are used.

Профиль может быть как открытым, так и закрытым.A profile may be public or private.

Открытые профили доступны всем членам роли базы данных DatabaseMailUserRole в базе данных msdb .Public profiles are available for all members of the DatabaseMailUserRole database role in the msdb database. Это позволяет всем членам роли DatabaseMailUserRole отправлять электронную почту с помощью данных профилей.They allow all members of the DatabaseMailUserRole role to send e-mail using the profile.

Личные профили задаются для субъектов безопасности базы данных msdb .Private profiles are defined for security principals in the msdb database. Они позволяют отправлять электронную почту только определенным пользователям базы данных, ролям и членам предопределенной роли сервера sysadmin .They allow only specified database users, roles, and members of the sysadmin fixed server role to send e-mail using the profile. По умолчанию профиль является закрытым и предоставляет доступ только членам предопределенной роли сервера sysadmin .By default, a profile is private, and allows access only to members of the sysadmin fixed server role. Пользователи должны получить разрешение от sysadmin для использования закрытого профиля.To use a private profile, sysadmin must grant users permission to use the profile. Кроме того, разрешение на выполнение хранимой процедуры sp_send_dbmail выдается только членам роли DatabaseMailUserRole.Additionally, EXECUTE permission on the sp_send_dbmail stored procedure is only granted to members of the DatabaseMailUserRole. Чтобы пользователь мог отправлять электронную почту, системный администратор должен добавить его к роли базы данных DatabaseMailUserRole .A system administrator must add the user to the DatabaseMailUserRole database role for the user to send e-mail messages.

Профили повышают надежность в тех случаях, когда сервер электронной почты становится недоступным или не может обрабатывать сообщения.Profiles improve reliability in cases where an e-mail server becomes unreachable or unable to process messages. Каждая учетная запись в профиле имеет свой порядковый номер.Each account in the profile has a sequence number. Порядковый номер определяет порядок, в соответствии с которым компонент Database Mail использует учетные записи в профиле.The sequence number determines the order in which Database Mail uses accounts in the profile. Для новых сообщений электронной почты компонент Database Mail использует последнюю учетную запись, с которой было успешно отправлено сообщение, либо учетную запись с наименьшим порядковым номером, если сообщения еще не отправлялись.For a new e-mail message, Database Mail uses the last account that sent a message successfully, or the account that has the lowest sequence number if no message has yet been sent. Если использование этой учетной записи завершилось с ошибкой, компонент Database Mail использует учетную запись со следующим порядковым номером, и так до тех пор, пока сообщение не будет успешно отослано, либо пока не окажется безуспешным использование учетной записи с наибольшим порядковым номером.Should that account fail, Database Mail uses the account with the next highest sequence number, and so on until either Database Mail sends the message successfully, or the account with the highest sequence number fails. Если отправка сообщения от имени учетной записи с наибольшим порядковым номером также завершилась ошибкой, то компонент Database Mail приостанавливает попытки отправки сообщения на время, заданное параметром AccountRetryDelay хранимой процедуры sysmail_configure_sp. Затем он возобновляет их отправку, начиная с учетной записи с наименьшим порядковым номером.If the account with the highest sequence number fails, the Database Mail pauses attempts to send the mail for the amount of time configured in the AccountRetryDelay parameter of sysmail_configure_sp, then starts the process of attempting to send the mail again, starting with the lowest sequence number. Параметр AccountRetryAttempts хранимой процедуры sysmail_configure_spиспользуется для указания количества попыток отправки сообщений электронной почты, перебирающих все учетные записи указанного профиля.Use the AccountRetryAttempts parameter of sysmail_configure_sp, to configure the number of times that the external mail process attempts to send the e-mail message using each account in the specified profile.

Если существует больше одной учетной записи с одним и тем же порядковым номером, компонент Database Mail использует только одну из них для данного почтового сообщения.If more than one account exists with the same sequence number, Database Mail only uses one of those accounts for a given e-mail message. В этом случае компонент Database Mail не указывает, какая учетная запись используется для этого порядкового номера, и не гарантирует того, что от сообщения к сообщению используется одна и та же учетная запись.In this case, Database Mail makes no guarantees as to which of the accounts is used for that sequence number or that the same account is used from message to message.

Задачи конфигурации компонента Database MailDatabase Mail Configuration Tasks

Следующая таблица описывает задачи конфигурации компонента Database Mail.The following table describes the Database Mail configuration tasks.

Задача конфигурацииConfiguration Task Ссылка на разделTopic Link
Содержит инструкции по созданию учетных записей компонента Database Mail.Describes how to create a Database Mail accounts Создание учетной записи компонента Database MailCreate a Database Mail Account
Содержит инструкции по созданию профилей компонента Database Mail.Describes how to Create Database Mail profiles Создание профиля компонента Database MailCreate a Database Mail Profile
Содержит инструкции по настройке компонента Database Mail.Describes how to Configure Database mail Настройка компонента Database MailConfigure Database Mail
Содержит инструкции по созданию скрипта настройки компонента Database Mail с помощью шаблоновDescribes how to create a Database Mail configuration script using templates

Дополнительные задачи конфигурации компонента Database Mail (системные хранимые процедуры)Additional Database Configuration Tasks (System Stored Procedures)

Хранимые процедуры конфигурации компонента Database Mail находятся в базе данных msdb .Database Mail configuration stored procedures are located in the msdb database.

Следующие таблицы перечисляют хранимые процедуры, используемые для настройки компонента Database Mail и управления им.The following tables list the stored procedures used for configuring and managing Database Mail.

Параметры компонента Database MailDatabase Mail Settings

ИмяName ОписаниеDescription
sysmail_configure_sp (Transact-SQL)sysmail_configure_sp (Transact-SQL) Изменяет настройки конфигурации компонента Database Mail.Changes configuration settings for Database Mail.
sysmail_help_configure_sp (Transact-SQL)sysmail_help_configure_sp (Transact-SQL) Отображает настройки конфигурации компонента Database Mail.Displays configuration settings for Database Mail.

Учетные записи и профилиAccounts and Profiles

ИмяName ОписаниеDescription
sysmail_add_profileaccount_sp (Transact-SQL)sysmail_add_profileaccount_sp (Transact-SQL) Добавляет учетную запись почты к профилю компонента Database Mail.Adds a mail account to a Database Mail profile.
sysmail_delete_account_sp (Transact-SQL)sysmail_delete_account_sp (Transact-SQL) Удаляет учетную запись компонента Database Mail.Deletes a Database Mail account.
sysmail_delete_profile_sp (Transact-SQL)sysmail_delete_profile_sp (Transact-SQL) Удаляет профиль компонента Database Mail.Deletes a Database Mail profile.
sysmail_delete_profileaccount_sp (Transact-SQL)sysmail_delete_profileaccount_sp (Transact-SQL) Удаляет учетную запись из профиля компонента Database Mail.Removes an account from a Database Mail profile.
sysmail_help_account_sp (Transact-SQL)sysmail_help_account_sp (Transact-SQL) Выводит сведения об учетных записях компонента Database Mail.Lists information about Database Mail accounts.
sysmail_help_profile_sp (Transact-SQL)sysmail_help_profile_sp (Transact-SQL) Выводит сведения об одном или более профилях компонента Database Mail.Lists information about one or more Database Mail profiles.
sysmail_help_profileaccount_sp (Transact-SQL)sysmail_help_profileaccount_sp (Transact-SQL) Перечисляет учетные записи, связанные с одним или несколькими профилями компонента Database Mail.Lists the accounts associated with one or more Database Mail profiles.
sysmail_update_account_sp (Transact-SQL)sysmail_update_account_sp (Transact-SQL) Обновляет данные существующей учетной записи компонента Database Mail.Updates the information in an existing Database Mail account.
sysmail_update_profile_sp (Transact-SQL)sysmail_update_profile_sp (Transact-SQL) Изменяет описание или имя профиля компонента Database Mail.Changes the description or name of a Database Mail profile.
sysmail_update_profileaccount_sp (Transact-SQL)sysmail_update_profileaccount_sp (Transact-SQL) Обновляет порядковый номер учетной записи в профиле компонента Database Mail.Updates the sequence number of an account within a Database Mail profile.

безопасностьSecurity

ИмяName ОписаниеDescription
sysmail_add_principalprofile_sp (Transact-SQL)sysmail_add_principalprofile_sp (Transact-SQL) Предоставляет разрешение участнику базы данных для использования профиля компонента Database Mail.Grants permission for a database principal to use a Database Mail profile.
sysmail_delete_principalprofile_sp (Transact-SQL)sysmail_delete_principalprofile_sp (Transact-SQL) Удаляет разрешение для пользователя базы данных на использование открытого или закрытого профиля компонента Database Mail.Removes permission for a database user to use a public or private Database Mail profile.
sysmail_help_principalprofile_sp (Transact-SQL)sysmail_help_principalprofile_sp (Transact-SQL) Выводит сведения профиля компонента Database Mail для заданного пользователя базы данных.Lists Database Mail profile information for a given database user.
sysmail_update_principalprofile_sp (Transact-SQL)sysmail_update_principalprofile_sp (Transact-SQL) Обновляет сведения о разрешениях для заданного пользователя базы данных.Updates the permission information for a given database user.

Состояние системыSystem State

ИмяName ОписаниеDescription
sysmail_start_sp (Transact-SQL)sysmail_start_sp (Transact-SQL) Запускает внешнюю программу компонента Database Mail и связанную с ней очередь компонента SQL Service Broker.Starts the Database Mail external program and the associated SQL Service Broker queue.
sysmail_stop_sp (Transact-SQL)sysmail_stop_sp (Transact-SQL) Останавливает внешнюю программу компонента Database Mail и связанную с ней очередь компонента SQL Service Broker.Stops the Database Mail external program and the associated SQL Service Broker queue.
sysmail_help_status_sp (Transact-SQL)sysmail_help_status_sp (Transact-SQL) Показывает, запущен ли компонент Database Mail.Indicates if Database Mail is started.

Дополнительные ссылкиAdditional References