sysmail_add_profileaccount_sp (Transact-SQL)

在数据库邮件配置文件中添加一个数据库邮件帐户。用 sysmail_add_account_sp (Transact-SQL) 创建数据库帐户后,以及用 sysmail_add_profile_sp (Transact-SQL) 创建数据库配置文件后,可执行 sysmail_add_profileaccount_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
    要在其中添加帐户的配置文件的 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
    要向配置文件中添加的帐户的 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 的数据类型为 int,无默认值。序列号可以确定在配置文件中使用帐户的顺序。

返回代码值

0(成功)或 1(失败)

注释

配置文件和帐户都必须已经存在。否则,存储过程将返回错误。

请注意,此存储过程不会更改已与指定的配置文件关联的帐户的序列号。有关更新帐户序列号的详细信息,请参阅 sysmail_update_profileaccount_sp (Transact-SQL)

序列号可以确定数据库邮件使用配置文件中的帐户的顺序。对于新的电子邮件,数据库邮件将从序列号最小的帐户开始。如果该帐户失败,数据库邮件就使用下一个序列号较大的帐户,依此类推,直到数据库邮件成功发送邮件,或者序列号最大的帐户也失败为止。如果具有最高序列号的帐户失败,数据库邮件将在一段时间内(该时间在 sysmail_configure_sp 的 AccountRetryDelay 参数中配置)暂停发送邮件,然后,从最低序列号开始再次启动尝试发送邮件的进程。使用 sysmail_configure_sp 的 AccountRetryAttempts 参数,可以配置外部邮件进程使用指定的配置文件中的每个帐户尝试发送电子邮件的次数。

如果存在具有相同序列号的多个帐户,则数据库邮件将只使用这些帐户中的某一个来处理给定的电子邮件。在此情况下,数据库邮件不能保证使用特定序列号的帐户,也不能保证对不同的邮件中使用相同帐户。

存储过程 sysmail_add_profileaccount_spmsdb 数据库中,并且由 dbo 架构拥有。如果当前数据库不是 msdb,则必须使用由三部分构成的名称来执行该过程。

权限

默认情况下,sysadmin 固定服务器角色的成员具有执行此过程的权限。

示例

以下示例将配置文件 AdventureWorks2008R2 Administrator 与帐户 Audit Account 关联。审核帐户的序列号为 1。

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