Share via


sysmail_update_principalprofile_sp (Transact-SQL)

プリンシパルとプロファイルの関連付けについての情報を更新します。

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

構文

sysmail_update_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_name = ] 'principal_name'
    関連付けを更新する msdb データベースのデータベース ユーザーまたはロールの名前を指定します。principal_name のデータ型は sysname で、既定値は NULL です。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 のいずれかを指定する必要があります。

  • [ @is_default = ] 'is_default'
    このプロファイルがデータベース ユーザーの既定のプロファイルかどうかを指定します。データベース ユーザーが持つことのできる既定のプロファイルは 1 つだけです。is_default のデータ型は bit で、既定値はありません。

リターン コード値

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

結果セット

なし

説明

このストアド プロシージャでは、指定したプロファイルを、データベース ユーザーの既定のプロファイルにするかどうかを変更します。データベース ユーザーが持つことのできる既定のプライベート プロファイルは 1 つだけです。

関連付けのプリンシパル名が public であるか、関連付けのプリンシパル ID が 0 の場合、このストアド プロシージャではパブリック プロファイルが変更されます。既定のパブリック プロファイルは 1 つしか存在できません。

@is_default が '1' で、プリンシパルが複数のプロファイルに関連付けられている場合、指定したプロファイルはプリンシパルの既定のプロファイルになります。それまで既定のプロファイルであったプロファイルは、引き続きプリンシパルに関連付けられますが、既定のプロファイルではなくなります。

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

権限

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

A. プロファイルをデータベースの既定のパブリック プロファイルに設定する

次の例では、プロファイル General Use Profile を、msdb データベースに格納されているユーザーの既定のパブリック プロファイルに設定します。

EXECUTE msdb.dbo.sysmail_update_principalprofile_sp
    @principal_name = 'public',
    @profile_name = 'General Use Profile',
    @is_default = '1';

B. プロファイルをユーザーの既定のプライベート プロファイルに設定する

次の例では、プロファイル AdventureWorks2008R2 Administrator を、msdb データベースに格納されているプリンシパル ApplicationUser の既定のパブリック プロファイルに設定します。このプロファイルはプリンシパルに既に関連付けられている必要があります。それまで既定のプロファイルであったプロファイルは、引き続きプリンシパルに関連付けられますが、既定のプロファイルではなくなります。

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