sysmail_add_profileaccount_sp (Transact-SQL)

Область применения: SQL Server

Добавляет учетную запись Database Mail к профилю компонента Database Mail. Выполните после sysmail_add_profileaccount_sp создания учетной записи базы данных с sysmail_add_account_sp, а профиль базы данных создается с sysmail_add_profile_sp.

Соглашения о синтаксисе Transact-SQL

Синтаксис

sysmail_add_profileaccount_sp { [ @profile_id = ] profile_id | [ @profile_name = ] 'profile_name' } ,
    { [ @account_id = ] account_id | [ @account_name = ] 'account_name' }
    [ , [ @sequence_number = ] sequence_number ]
[ ; ]

Аргументы

[ @profile_id = ] profile_id

Идентификатор профиля для добавления учетной записи. @profile_id имеет значение int с значением по умолчаниюNULL. Необходимо указать @profile_id или @profile_name.

[ @profile_name = ] 'profile_name'

Имя профиля, в который добавляется учетная запись. @profile_name имеет имя sysname с значением по умолчаниюNULL. Необходимо указать @profile_id или @profile_name.

[ @account_id = ] account_id

Идентификатор учетной записи, добавляемый в профиль. @account_id имеет значение int с значением по умолчаниюNULL. Необходимо указать @account_id или @account_name.

[ @account_name = ] 'account_name'

Имя учетной записи для добавления к профилю. @account_name имеет имя sysname с значением по умолчаниюNULL. Необходимо указать @account_id или @account_name.

[ @sequence_number = ] sequence_number

Порядковый номер учетной записи в профиле. @sequence_number не используется без значения по умолчанию. Порядковый номер определяет порядок, в соответствии с которым учетные записи используются в профиле.

Значения кода возврата

0 (успешно) или 1 (сбой).

Замечания

Должны заранее существовать как профиль, так и учетная запись. В противном случае хранимая процедура возвращает ошибку.

Эта хранимая процедура не изменяет порядковый номер учетной записи, уже связанной с указанным профилем. Дополнительные сведения об обновлении последовательности учетной записи см. в sysmail_update_profileaccount_sp.

Порядковый номер определяет порядок, в соответствии с которым компонент Database Mail использует учетные записи в профиле. Для нового сообщения электронной почты компонент Database Mail начинает с учетной записи, имеющей наименьший порядковый номер. Если эта учетная запись завершается ошибкой, компонент Database Mail использует учетную запись со следующим самым высоким порядковым номером и т. д., пока компонент Database Mail не отправит сообщение успешно или учетная запись с самым высоким порядковым номером завершается ошибкой. Если учетная запись с самым высоким порядковым номером завершается ошибкой, компонент Database Mail приостанавливает попытку отправить почту в течение определенного времени, настроенного в AccountRetryDelay параметре sysmail_configure_sp, а затем запускает процесс попытки отправить почту снова, начиная с наименьшего номера последовательности. AccountRetryAttempts Используйте параметр sysmail_configure_sp, чтобы настроить количество попыток отправки сообщения электронной почты с помощью каждой учетной записи в указанном профиле.

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

Хранимая процедура sysmail_add_profileaccount_sp находится в msdb базе данных и принадлежит схеме dbo . Процедура должна выполняться с трехкомпонентным именем, если текущая база данных не msdbявляется.

Разрешения

Эта хранимая процедура принадлежит роли db_owner . Вы можете предоставить EXECUTE разрешения для любого пользователя, но эти разрешения могут быть переопределены во время обновления SQL Server.

Примеры

В следующем примере профиль AdventureWorks Administrator ассоциируется с учетной записью Audit Account. Учетная запись аудита имеет порядковый номер 1.

EXEC msdb.dbo.sysmail_add_profileaccount_sp
    @profile_name = 'AdventureWorks Administrator',
    @account_name = 'Audit Account',
    @sequence_number = 1;