sysmail_update_principalprofile_sp (Transact-SQL)

适用于:SQL Server

更新主体和配置文件之间的关联的信息。

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为,无默认值。

返回代码值

0(成功)或 1(失败)。

结果集

无。

注解

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

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

当@is_default1多个配置文件关联时,指定的配置文件将成为主体的默认配置文件。 以前的默认配置文件仍与主体数据库关联,但不再是默认配置文件。

存储过程 sysmail_update_principalprofile_sp 位于 msdb 数据库中,由 dbo 架构拥有。 如果当前数据库不是 msdb,则必须使用三部分名称执行该过程。

权限

此存储过程由 db_owner 角色拥有。 你可以为任何用户授予 EXECUTE 权限,但这些权限可能会在 SQL Server 升级期间被重写。

示例

A. 将配置文件设置为数据库的默认公共配置文件

以下示例将配置文件 General Use Profile 设置为数据库中用户 msdb 的默认公共配置文件。

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

B. 将配置文件设置为用户的默认专用配置文件

以下示例将配置文件AdventureWorks Administrator设置为数据库中主体ApplicationUsermsdb的默认配置文件。 该配置文件必须已与主体关联。 以前的默认配置文件仍与主体数据库关联,但不再是默认配置文件。

EXEC msdb.dbo.sysmail_update_principalprofile_sp
    @principal_name = 'ApplicationUser',
    @profile_name = 'AdventureWorks Administrator',
    @is_default = '1' ;