sysmail_delete_principalprofile_sp (Transact-SQL)

適用対象:SQL Server

データベースのユーザーやロールから、パブリックまたはプライベートなデータベース メール プロファイルを使用する権限を削除します。

Transact-SQL 構文表記規則

構文

sysmail_delete_principalprofile_sp { [ @principal_id = ] principal_id | [ @principal_name = ] 'principal_name' } ,
    { [ @profile_id = ] profile_id | [ @profile_name = ] 'profile_name' }
[ ; ]

引数

[ @principal_id = ] principal_id

関連付けを削除するデータベース内の msdb データベース ユーザーまたはロールの ID。 @principal_idは int で、既定値は NULL. パブリック プロファイルをプライベート プロファイルにするには、プリンシパル ID 0 またはプリンシパル名を指定します public。 @principal_idまたは@principal_name指定する必要があります。

[ @principal_name = ] 'principal_name'

削除する関連付けのデータベース内の msdb データベース ユーザーまたはロールの名前。 @principal_nameは sysname で、既定値は NULL. パブリック プロファイルをプライベート プロファイルにするには、プリンシパル ID 0 またはプリンシパル名を指定します public。 @principal_idまたは@principal_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指定する必要があります。

リターン コードの値

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

解説

パブリック プロファイルをプライベート プロファイルにするには、プリンシパル名または0プリンシパル ID に 'public' を指定します。

ユーザーの既定のプライベート プロファイルや、既定のパブリック プロファイルを削除する場合は慎重に行ってください。 既定のプロファイルが使用できない場合は、 sp_send_dbmail プロファイルの名前を引数として指定する必要があります。 そのため、既定のプロファイルを削除すると、呼び出しが sp_send_dbmail 失敗します。 詳細については、「sp_send_dbmail (Transact-SQL)」を参照してください

ストアド プロシージャsysmail_delete_principalprofile_spはデータベース内msdbにあり、dbo スキーマによって所有されています。 現在のデータベースが実行されていない msdb場合は、プロシージャを 3 部構成の名前で実行する必要があります。

アクセス許可

このストアド プロシージャは、db_owner ロールによって所有されています。 任意のユーザーにアクセス許可を付与 EXECUTE できますが、SQL Server のアップグレード中にこれらのアクセス許可がオーバーライドされる可能性があります。

次の例は、データベース内のプロファイル AdventureWorks Administrator とログイン ApplicationUser の間の関連付けを削除する方法を msdb 示しています。

EXEC msdb.dbo.sysmail_delete_principalprofile_sp
    @principal_name = 'ApplicationUser',
    @profile_name = 'AdventureWorks Administrator';