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


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

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

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

Разрешения

Выполнить разрешения этой процедуры по умолчанию для членов предопределенной роли сервера sysadmin.

Примеры

А. Установка профиля в открытый профиль по умолчанию для базы данных

Следующий пример устанавливает профиль General Use Profile в открытый профиль по умолчанию для пользователей в базе данных msdb.

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

Б. Настройка профиля в профиль по умолчанию для пользователя

Следующий пример устанавливает профиль AdventureWorks2008R2 Administrator в профиль по умолчанию для участников ApplicationUser в базе данных msdb. Профиль должен быть заранее связан с участником. Профиль, который ранее был профилем по умолчанию, все еще связан с участником, но не является более профилем по умолчанию.

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