次の方法で共有


sysmail_delete_principalprofile_sp (Transact-SQL)

適用対象: SQL サーバー

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

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_idint で、既定値は NULL です。 パブリック プロファイルをプライベート プロファイルにするには、プリンシパル ID 0 またはプリンシパル名 publicを指定します。 @principal_idまたは@principal_nameを指定する必要があります。

[ @principal_name = ] 'principal_name'

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

[ @profile_id = ] profile_id

削除する関連付けのプロファイルの ID。 @profile_idint で、既定値は NULL です。 @profile_idまたは@profile_nameを指定する必要があります。

[ @profile_name = ] 'profile_name'

削除する関連付けのプロファイルの名前。 @profile_namesysname で、既定値は NULL です。 @profile_idまたは@profile_nameを指定する必要があります。

リターン コードの値

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

解説

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

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

ストアド プロシージャ sysmail_delete_principalprofile_spmsdb データベースにあり、 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';