sysmail_update_profileaccount_sp (Transact-SQL)
适用范围:SQL Server
更新数据库邮件配置文件中帐户的序列号。
语法
sysmail_update_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
位于 msdb
数据库中,由 dbo 架构拥有。 如果当前数据库不是 msdb
,则必须使用三部分名称执行该过程。
权限
可以授予 EXECUTE
此过程的权限,但在 SQL Server 升级期间可能会重写这些权限。
示例
以下示例更改数据库中配置文件AdventureWorks Administrator
中msdb
帐户Admin-BackupServer
的序列号。 执行此代码后,该帐户的序列号为 3
,指示前两个帐户失败后将尝试使用此帐户。
EXEC msdb.dbo.sysmail_update_profileaccount_sp
@profile_name = 'AdventureWorks Administrator',
@account_name = 'Admin-BackupServer',
@sequence_number = 3;