sysmail_update_profileaccount_sp (Transact-SQL)
適用於:SQL Server
更新 Database Mail 設定檔內的帳戶序號。
語法
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
要更新之配置檔的設定檔識別碼。 @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為 int,沒有預設值。 序號會決定配置檔中使用帳戶的順序。
傳回碼值
0
(成功) 或 1
(失敗)。
結果集
無。
備註
如果指定的帳戶未與指定的配置檔相關聯,則傳回錯誤。
序號決定了 Database Mail 使用設定檔中之帳戶的順序。 對於新的電子郵件訊息,Database Mail 會以最低序號的帳戶開頭。 如果這個帳戶失敗,Database Mail 會使用序號次高的帳戶,依此類推,直到 Database Mail 成功傳送訊息為止,或直到序號最高的帳戶失敗為止。 如果具有最高序號的帳戶失敗,則電子郵件訊息會失敗。
如果有多個序號相同的帳戶存在,Database Mail 只會將其中一個帳戶用在給定的電子郵件訊息上。 在這個情況下,Database Mail 並無法保證這個序號會用到哪個帳戶,也無法保證各訊息會用到相同的帳戶。
預存程式 sysmail_update_profileaccount_sp
位於 msdb
資料庫中,且由 dbo 架構所擁有。 如果目前的資料庫不是 msdb
,則必須使用三部分名稱執行程式。
權限
此預存程式是由 db_owner 角色所擁有。 您可以授與 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;