Поделиться через


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 базе данных для изменения связи. 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

Идентификатор профиля для изменения связи. @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, эта хранимая процедура изменяет общедоступный профиль. Может быть только один открытый (public) профиль по умолчанию.

Если @is_default 1 и субъект связан с несколькими профилями, указанный профиль становится профилем по умолчанию для субъекта. Профиль, который ранее был профилем по умолчанию, все еще связан с участником, но не является более профилем по умолчанию.

Хранимая процедура sysmail_update_principalprofile_sp находится в msdb базе данных и принадлежит схеме dbo . Процедура должна выполняться с трехкомпонентным именем, если текущая база данных не msdbявляется.

Разрешения

Эта хранимая процедура принадлежит роли db_owner . Вы можете предоставить EXECUTE разрешения для любого пользователя, но эти разрешения могут быть переопределены во время обновления SQL Server.

Примеры

А. Настройка профиля для общедоступного профиля по умолчанию для базы данных

В следующем примере профиль будет общедоступным профилем 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 по умолчанию для субъекта ApplicationUser в msdb базе данных. Профиль должен быть заранее связан с участником. Профиль, который ранее был профилем по умолчанию, все еще связан с участником, но не является более профилем по умолчанию.

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