次の方法で共有


sysmail_add_principalprofile_sp (Transact-SQL)

更新 : 2006 年 12 月 12 日

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

トピック リンク アイコン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。public ロールの場合は 0 を指定します。principal_id のデータ型は int で、既定値は NULL です。principal_id または principal_name のいずれかを指定する必要があります。principal_id の値を 0 にすると、このプロファイルはパブリック プロファイルになり、データベース内のすべてのプリンシパルにアクセス権が与えられます。
  • [ @principal_name = ] 'principal_name'
    msdb データベース ユーザーの名前。public ロールの場合は 'public' を指定します。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 で、既定値はありません。

解説

パブリック プロファイルを作成するには、@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 固定サーバー ロールのメンバに与えられています。

戻り値

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

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

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

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

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

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

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

参照

関連項目

データベース メールと SQL Mail のストアド プロシージャ (Transact-SQL)

その他の技術情報

データベース メール
データベース メール プロファイル
[構成タスクの選択] (データベース メール)

ヘルプおよび情報

SQL Server 2005 の参考資料の入手

変更履歴

リリース 履歴

2006 年 12 月 12 日

変更内容 :
  • msdb ユーザーであり、そのロールが public ロールに限定される場合の指定方法を追加しました。