sysmail_add_profileaccount_sp (Transact-SQL)
適用対象:SQL Server
データベース メール プロファイルにデータベース メール アカウントを追加します。 sysmail_add_account_sp (Transact-SQL) を使用してデータベース アカウントを作成し、データベース プロファイルを sysmail_add_profile_sp (Transact-SQL) で作成した後に実行sysmail_add_profileaccount_sp
します。
構文
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
使用して、外部メール プロセスが指定したプロファイルの各アカウントを使用して電子メール メッセージを送信しようとする回数を構成します。
同じシーケンス番号を持つアカウントが複数存在する場合、データベース メールでは、指定された電子メール メッセージに対して、これらのアカウントのいずれか 1 つのみが使用されます。 この場合、そのシーケンス番号に対してどのアカウントが使用されるか、またメッセージごとに同じアカウントが使用されるかついては、データベース メールでは保証されません。
ストアド プロシージャsysmail_add_profileaccount_sp
はデータベース内msdb
にあり、dbo スキーマによって所有されています。 現在のデータベースが実行されていない msdb
場合は、プロシージャを 3 部構成の名前で実行する必要があります。
アクセス許可
このストアド プロシージャは、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;
関連するコンテンツ
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示