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_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';