sysmail_delete_profileaccount_sp (Transact-SQL)
適用対象: SQL Server
データベース メール プロファイルからアカウントを削除します。
構文
sysmail_delete_profileaccount_sp { [ @profile_id = ] profile_id | [ @profile_name = ] 'profile_name' } ,
{ [ @account_id = ] account_id | [ @account_name = ] 'account_name' }
[ ; ]
引数
[ @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を指定できます。
リターン コードの値
0
(成功) または 1
(失敗)。
結果セット
ありません。
解説
指定されたアカウントが指定されたプロファイルに関連付けられていない場合は、エラーを返します。
アカウントを指定し、プロファイルを指定しなかった場合、このストアド プロシージャでは指定したアカウントがすべてのプロファイルから削除されます。 たとえば、既存の SMTP サーバーをシャットダウンする準備をしている場合は、各プロファイルから各アカウントを削除するのではなく、すべてのプロファイルからその SMTP サーバーを使用するアカウントを削除します。
プロファイルを指定し、アカウントを指定しなかった場合、このストアド プロシージャでは指定したプロファイルからすべてのアカウントが削除されます。 たとえば、プロファイルで使用する SMTP サーバーを変更する場合は、プロファイルからすべてのアカウントを削除し、必要に応じて新しいアカウントを追加すると便利な場合があります。
ストアド プロシージャ sysmail_delete_profileaccount_sp
は msdb
データベースにあり、 dbo スキーマによって所有されます。 現在のデータベースが msdb
されていない場合は、プロシージャを 3 部構成の名前で実行する必要があります。
アクセス許可
このストアド プロシージャは、 db_owner ロールによって所有されています。 EXECUTE
アクセス許可は任意のユーザーに付与できますが、SQL Server のアップグレード中にこれらのアクセス許可がオーバーライドされる可能性があります。
例
次の例では、プロファイルの Audit Account
からアカウントの AdventureWorks Administrator
を削除します。
EXEC msdb.dbo.sysmail_delete_profileaccount_sp
@profile_name = 'AdventureWorks Administrator',
@account_name = 'Audit Account';