sysmail_add_principalprofile_sp (Transact-SQL)
Предоставляет пользователю или роли базы данных разрешение на использование профиля компонента Database Mail.
Синтаксис
sysmail_add_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, с которыми следует ассоциировать профиль. Этот аргумент имеет тип int и значение по умолчанию NULL. При вызове процедуры нужно указать или аргумент principal_id, или principal_name. Если значение аргумента principal_id равно 0, профиль становится открытым и доступ к нему предоставляется всем участникам базы данных.[ @principal_name = ] 'principal_name'
Имя пользователя или роли в базе данных msdb, с которыми следует ассоциировать профиль. Этот аргумент имеет тип sysname и значение по умолчанию NULL. При вызове процедуры нужно указать или аргумент principal_id, или principal_name. Если principal_name имеет значение 'public', профиль становится открытым и доступ к нему предоставляется всем участникам базы данных.[ @profile_id = ] profile_id
Идентификатор профиля, который следует ассоциировать с пользователем или ролью базы данных. Этот аргумент имеет тип int и значение по умолчанию NULL. При вызове процедуры нужно указать или аргумент profile_id, или profile_name.[ @profile_name = ] 'profile_name'
Название профиля, который следует ассоциировать с пользователем или ролью базы данных. Этот аргумент имеет тип sysname и не имеет значения по умолчанию. При вызове процедуры нужно указать или аргумент profile_id, или profile_name.[ @is_default = ] is_default
Этот аргумент показывает, является ли данный профиль для участника профилем по умолчанию. Участник должен иметь ровно один профиль по умолчанию. Данный аргумент имеет тип bit и не имеет значения по умолчанию.
Значения кодов возврата
0 (успешное завершение) или 1 (неуспешное завершение)
Замечания
Чтобы сделать профиль открытым, следует указать аргумент @principal_id равным 0 или аргумент @principal_name со значением public. Открытый профиль доступен всем пользователям базы данных msdb, хотя для выполнения процедуры sp_send_dbmail они должны быть также членами роли DatabaseMailUserRole.
Пользователь базы данных может иметь только один профиль по умолчанию. Если аргумент @is_default равен 1, а пользователь уже ассоциирован с одним или несколькими профилями, то указанный при вызове процедуры профиль становится для пользователя профилем по умолчанию. Профиль, который ранее был профилем по умолчанию, остается ассоциированным с пользователем, но уже не является профилем по умолчанию.
Если аргумент @is_default равен 0 и никаких других ассоциаций нет, хранимая процедура возвращает ошибку.
Хранимая процедура sysmail_add_principalprofile_sp находится в базе данных msdb и принадлежит схеме dbo. Если текущей базой данных является не msdb, процедуру следует выполнять с трехкомпонентным именем.
Разрешения
По умолчанию разрешения на выполнение этой процедуры имеют члены предопределенной роли сервера sysadmin.
Примеры
А. Создание ассоциации с профилем, определение профиля по умолчанию
Следующий пример ассоциирует профиль AdventureWorks Administrator Profile с пользователем базы данных msdb, имеющим имя ApplicationUser. Указанный профиль становится для пользователя профилем по умолчанию.
EXECUTE msdb.dbo.sysmail_add_principalprofile_sp
@principal_name = 'ApplicationUser',
@profile_name = 'AdventureWorks Administrator Profile',
@is_default = 1 ;
Б. Определение открытого профиля по умолчанию
Следующий пример делает профиль AdventureWorks Public Profile открытым профилем по умолчанию для пользователей базы данных msdb.
EXECUTE msdb.dbo.sysmail_add_principalprofile_sp
@principal_name = 'public',
@profile_name = 'AdventureWorks Public Profile',
@is_default = 1 ;
См. также