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'
    指定此配置文件是否为数据库用户的默认配置文件。一个数据库用户只能有一个默认配置文件。is_default 的数据类型为 bit,无默认值。

返回代码值

0(成功)或 1(失败)

结果集

注释

此存储过程会更改指定的配置文件是否为数据库用户的默认配置文件。一个数据库用户只能有一个默认专用配置文件。

如果关联的主体名称为 public 或关联的主体 ID 为 0,则此存储过程将更改公共配置文件。只能有一个默认的公共配置文件。

如果 @is_default 为 '1',并且主体数据库与多个配置文件关联,则指定的配置文件将成为主体数据库的默认配置文件。以前的默认配置文件仍与主体数据库关联,但不再是默认配置文件。

存储过程 sysmail_update_principalprofile_spmsdb 数据库中,归 dbo 架构所有。如果当前数据库不是 msdb,则该过程必须使用由三部分组成的名称执行。

权限

默认情况下,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' ;