次の方法で共有


sysmail_add_principalprofile_sp (Transact-SQL)

データベース ユーザーやロールに対して、データベース メール プロファイルを使用する権限を与えます。

トピック リンク アイコンTransact-SQL 構文表記規則

構文

sysmail_add_principalprofile_sp  { [ @principal_id = ] principal_id | [ @principal_name = ] 'principal_name' } ,
    { [ @profile_id = ] profile_id | [ @profile_name = ] 'profile_name' }
    [ , [ @is_default ] = 'is_default' ]

引数

  • [ @principal_id = ] principal_id
    関連付けに対応する msdb データベースのデータベース ユーザーまたはロールの ID を指定します。principal_id のデータ型は int で、既定値は NULL です。principal_id または principal_name のいずれかを指定する必要があります。principal_id の値を 0 にすると、このプロファイルはパブリック プロファイルになり、データベース内のすべてのプリンシパルにアクセス権が与えられます。

  • [ @principal_name = ] 'principal_name'
    関連付けに対応する msdb データベースのデータベース ユーザーまたはロールの名前を指定します。principal_name のデータ型は sysname で、既定値は NULL です。principal_id または principal_name のいずれかを指定する必要があります。principal_name の値を 'public' にすると、このプロファイルはパブリック プロファイルになり、データベース内のすべてのプリンシパルにアクセス権が与えられます。

  • [ @profile_id = ] profile_id
    関連付けに使用するプロファイルの ID を指定します。profile_id のデータ型は int で、既定値は NULL です。profile_id または profile_name のいずれかを指定する必要があります。

  • [ @profile_name = ] 'profile_name'
    関連付けに使用するプロファイルの名前を指定します。profile_name のデータ型は sysname で、既定値はありません。profile_id または profile_name のいずれかを指定する必要があります。

  • [ @is_default = ] is_default
    このプロファイルをプリンシパルの既定のプロファイルとするかどうかを指定します。プリンシパルは既定のプロファイルを 1 つだけ持つ必要があります。is_default のデータ型は bit で、既定値はありません。

リターン コード値

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

説明

パブリック プロファイルを作成するには、@principal_id の値を 0、または @principal_name の値を public に指定します。パブリック プロファイルは msdb データベース内のすべてのユーザーが使用できますが、sp_send_dbmail を実行するには DatabaseMailUserRole のメンバーであることが必要です。

データベース ユーザーが持つことのできる既定のプロファイルは 1 つだけです。@is_default の値が '1' で、ユーザーが既に 1 つ以上のプロファイルに関連付けられている場合、指定したプロファイルはこのユーザーの既定のプロファイルになります。それまで既定のプロファイルであったプロファイルは、引き続きこのユーザーに関連付けられますが、既定のプロファイルではなくなります。

@is_default の値を '0' とし、他の関連付けがない場合は、ストアド プロシージャはエラーを返します。

ストアド プロシージャ sysmail_add_principalprofile_spmsdb データベースにあり、dbo スキーマが所有しています。現在のデータベースが msdb でない場合、このプロシージャを実行するときには名前に 3 つの要素を指定する必要があります。

権限

このプロシージャの実行権限は、既定では sysadmin 固定サーバー ロールのメンバーに与えられています。

A. 関連付けを作成し、既定のプロファイルを設定する

次の例では、AdventureWorks2008R2 Administrator Profile という名前のプロファイルと、msdb データベースのユーザー ApplicationUser との関連付けを作成します。このプロファイルは、このユーザーの既定のプロファイルです。

EXECUTE msdb.dbo.sysmail_add_principalprofile_sp
    @principal_name = 'ApplicationUser',
    @profile_name = 'AdventureWorks2008R2 Administrator Profile',
    @is_default = 1 ;

B. プロファイルを既定のパブリック プロファイルにする

次の例では、プロファイル AdventureWorks2008R2 Public Profile を、msdb データベース内のユーザーの既定のパブリック プロファイルに設定します。

EXECUTE msdb.dbo.sysmail_add_principalprofile_sp
    @principal_name = 'public',
    @profile_name = 'AdventureWorks2008R2 Public Profile',
    @is_default = 1 ;