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' ;