sysmail_delete_principalprofile_sp(Transact-SQL)

適用対象:SQL Server

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

Transact-SQL 構文表記規則

構文

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

引数

[ @principal_id = ] principal_id

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

[ @principal_name = ] N'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 = ] N'profile_name

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

リターン コードの値

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

解説

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

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

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

アクセス許可

この手順では EXECUTE アクセス許可を付与できますが、これらのアクセス許可は SQL Server のアップグレード中にオーバーライドされる可能性があります。

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

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