適用対象: SQL Server
データベースのユーザーやロールから、パブリックまたはプライベートなデータベース メール プロファイルを使用する権限を削除します。
構文
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 (失敗)。
解説
パブリック プロファイルをプライベート プロファイルにするには、プリンシパル名に 'public' を指定するか、プリンシパル ID に 0 します。
ユーザーの既定のプライベート プロファイルや、既定のパブリック プロファイルを削除する場合は慎重に行ってください。 既定のプロファイルが使用できない場合、 sp_send_dbmail にはプロファイルの名前が引数として必要です。 そのため、既定のプロファイルを削除すると、 sp_send_dbmail の呼び出しが失敗します。 詳細については、「 sp_send_dbmail」を参照してください。
ストアド プロシージャ sysmail_delete_principalprofile_sp は msdb データベースにあり、 dbo スキーマによって所有されます。 現在のデータベースが msdbされていない場合は、プロシージャを 3 部構成の名前で実行する必要があります。
アクセス許可
この手順では EXECUTE アクセス許可を付与できますが、これらのアクセス許可は SQL Server のアップグレード中にオーバーライドされる可能性があります。
例
次の例は、プロファイル AdventureWorks Administratorと、msdb データベース内のログイン ApplicationUserの間の関連付けを削除する方法を示しています。
EXECUTE msdb.dbo.sysmail_delete_principalprofile_sp
@principal_name = 'ApplicationUser',
@profile_name = 'AdventureWorks Administrator';