共用方式為


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)。

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為 int,沒有預設值。 序號會決定配置檔中使用帳戶的順序。

傳回碼值

0 (成功) 或 1 (失敗)。

備註

配置檔和帳戶都必須已經存在。 否則,預存程式會傳回錯誤。

請注意,這個預存程式不會變更已經與指定配置文件相關聯的帳戶序號。 如需更新帳戶序號的詳細資訊,請參閱 sysmail_update_profileaccount_sp (Transact-SQL)

序號決定了 Database Mail 使用設定檔中之帳戶的順序。 如果是新的電子郵件訊息,Database Mail 會從序號最低的帳戶開始。 如果該帳戶失敗,Database Mail 會使用具有下一個最高序號的帳戶,依此方式,直到 Database Mail 成功傳送訊息,或具有最高序號的帳戶失敗為止。 如果具有最高序號的帳戶失敗,Database Mail 會暫停嘗試傳送郵件,以 在 參數sysmail_configure_spAccountRetryDelay設定的時間量,然後從最低序號開始,開始嘗試再次傳送郵件的程式。 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;