Compartir a través de


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 msdbes .

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