次の方法で共有


sysmail_delete_profileaccount_sp (Transact-SQL)

適用対象: SQL Server

データベース メール プロファイルからアカウントを削除します。

Transact-SQL 構文表記規則

構文

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_idint で、既定値は NULL です。 @profile_idまたは@profile_nameを指定できます。

[ @profile_name = ] 'profile_name'

削除するプロファイルのプロファイル名を指定します。 @profile_namesysname で、既定値は NULL です。 @profile_idまたは@profile_nameを指定できます。

[ @account_id = ] account_id

削除するアカウント ID。 @account_idint で、既定値は NULL です。 @account_idまたは@account_nameを指定できます。

[ @account_name = ] 'account_name'

削除するアカウントの名前。 @account_namesysname で、既定値は NULL です。 @account_idまたは@account_nameを指定できます。

リターン コードの値

0 (成功) または 1 (失敗)。

結果セット

ありません。

解説

指定されたアカウントが指定されたプロファイルに関連付けられていない場合は、エラーを返します。

アカウントを指定し、プロファイルを指定しなかった場合、このストアド プロシージャでは指定したアカウントがすべてのプロファイルから削除されます。 たとえば、既存の SMTP サーバーをシャットダウンする準備をしている場合は、各プロファイルから各アカウントを削除するのではなく、すべてのプロファイルからその SMTP サーバーを使用するアカウントを削除します。

プロファイルを指定し、アカウントを指定しなかった場合、このストアド プロシージャでは指定したプロファイルからすべてのアカウントが削除されます。 たとえば、プロファイルで使用する SMTP サーバーを変更する場合は、プロファイルからすべてのアカウントを削除し、必要に応じて新しいアカウントを追加すると便利な場合があります。

ストアド プロシージャ sysmail_delete_profileaccount_spmsdb データベースにあり、 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';