sysmail_update_principalprofile_sp (Transact-SQL)
Se aplica a: SQL Server
Actualiza la información para una asociación entre una entidad de seguridad y un perfil.
Convenciones de sintaxis de Transact-SQL
Sintaxis
sysmail_update_principalprofile_sp { @principal_id = principal_id | @principal_name = 'principal_name' } ,
{ [ @profile_id = ] profile_id | [ @profile_name = ] 'profile_name' } ,
[ @is_default = ] 'is_default'
[ ; ]
Argumentos
[ @principal_id = ] principal_id
Identificador del usuario o rol de la base de datos en la msdb
base de datos para que cambie la asociación. principal_id es int, con un valor predeterminado de NULL
. Se deben especificar @principal_id o @principal_name .
[ @principal_name = ] 'principal_name'
Nombre del usuario o rol de la base de datos en la msdb
base de datos para que se actualice la asociación. principal_name es sysname, con un valor predeterminado de NULL
. Se deben especificar @principal_id o @principal_name .
[ @profile_id = ] profile_id
Identificador del perfil para que cambie la asociación. @profile_id es int, con un valor predeterminado de NULL
. Se deben especificar @profile_id o @profile_name .
[ @profile_name = ] 'profile_name'
Nombre del perfil para la asociación que se va a cambiar. @profile_name es sysname, con un valor predeterminado de NULL
. Se deben especificar @profile_id o @profile_name .
[ @is_default = ] is_default
Si este perfil es el perfil predeterminado para el usuario de la base de datos. Un usuario de base de datos solo puede tener un perfil predeterminado. @is_default es bit, sin valor predeterminado.
Valores de código de retorno
0
(correcto) o 1
(erróneo).
Conjunto de resultados
Ninguno.
Comentarios
Este procedimiento almacenado cambia si el perfil especificado es el perfil predeterminado para el usuario de la base de datos. Un usuario de base de datos solo puede tener un perfil privado predeterminado.
Cuando el nombre principal de la asociación es público o el identificador de entidad de seguridad de la asociación es 0
, este procedimiento almacenado cambia el perfil público. Solo puede haber un perfil público predeterminado.
Cuando @is_default es 1
y la entidad de seguridad está asociada a más de un perfil, el perfil especificado se convierte en el perfil predeterminado para la entidad de seguridad. El perfil predeterminado anterior sigue estando asociado a la entidad de seguridad, pero ya no es el perfil predeterminado.
El procedimiento sysmail_update_principalprofile_sp
almacenado está en la msdb
base de datos y es propiedad del esquema dbo . El procedimiento debe ejecutarse con un nombre de tres partes si la base de datos actual no msdb
es .
Permisos
Este procedimiento almacenado es propiedad del rol db_owner . Puede conceder EXECUTE
permisos para cualquier usuario, pero estos permisos se pueden invalidar durante una actualización de SQL Server.
Ejemplos
A Establecer un perfil para que sea el perfil público predeterminado para una base de datos
En el ejemplo siguiente se establece que el perfil General Use Profile
sea el perfil público predeterminado para los usuarios de la msdb
base de datos.
EXEC msdb.dbo.sysmail_update_principalprofile_sp
@principal_name = 'public',
@profile_name = 'General Use Profile',
@is_default = '1';
B. Establecer un perfil para que sea el perfil privado predeterminado para un usuario
En el ejemplo siguiente se establece que el perfil AdventureWorks Administrator
sea el perfil predeterminado para la entidad de seguridad ApplicationUser
de la msdb
base de datos. El perfil ya debe estar asociado a la entidad de seguridad. El perfil predeterminado anterior sigue estando asociado a la entidad de seguridad, pero ya no es el perfil predeterminado.
EXEC msdb.dbo.sysmail_update_principalprofile_sp
@principal_name = 'ApplicationUser',
@profile_name = 'AdventureWorks Administrator',
@is_default = '1' ;