sysmail_delete_principalprofile_sp (Transact-SQL)
適用対象: 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
(失敗)。
解説
パブリック プロファイルをプライベート プロファイルにするには、プリンシパル名に 'public' を指定するか、プリンシパル ID に 0
します。
ユーザーの既定のプライベート プロファイルや、既定のパブリック プロファイルを削除する場合は慎重に行ってください。 既定のプロファイルが使用できない場合、 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
と、msdb
データベース内のログイン ApplicationUser
の間の関連付けを削除する方法を示しています。
EXEC msdb.dbo.sysmail_delete_principalprofile_sp
@principal_name = 'ApplicationUser',
@profile_name = 'AdventureWorks Administrator';