次の方法で共有


sysmail_delete_profileaccount_sp (Transact-SQL)

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

トピック リンク アイコン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_spmsdb データベースにあり、dbo スキーマが所有しています。現在のデータベースが msdb でない場合、このプロシージャを実行するときには名前に 3 つの要素を指定する必要があります。

権限

このプロシージャの実行権限は、既定では sysadmin 固定サーバー ロールのメンバに与えられています。

次の例では、プロファイルの AdventureWorks Administrator からアカウントの Audit Account を削除します。

EXECUTE msdb.dbo.sysmail_delete_profileaccount_sp
    @profile_name = 'AdventureWorks Administrator',
    @account_name = 'Audit Account' ;