Compartir a través de


sysmail_update_principalprofile_sp (Transact-SQL)

Actualiza la información para una asociación entre una entidad de seguridad y un perfil.

Icono de vínculo a temasConvenciones 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
    Es el identificador del usuario o el rol de la base de datos msdb de la asociación que se va a cambiar. principal_id es de tipo int y tiene el valor predeterminado NULL. Debe especificarse principal_id o principal_name.

  • [ @principal_name = ] 'principal_name'
    Es el nombre del usuario o el rol de la base de datos msdb de la asociación que se va a actualizar. principal_name es de tipo sysname y tiene el valor predeterminado NULL. Puede especificarse principal_id o principal_name.

  • [ @profile_id = ] profile_id
    Es el Id. del perfil para la asociación que se va a cambiar. profile_id es de tipo int y su valor predeterminado es NULL. Debe especificarse profile_id o profile_name.

  • [ @profile_name = ] 'profile_name'
    Es el nombre del perfil para la asociación que se va a cambiar. profile_name es de tipo sysname y su valor predeterminado es NULL. Debe especificarse profile_id o profile_name.

  • [ @is_default = ] 'is_default'
    Determina si este perfil es el perfil predeterminado para el usuario de la base de datos. El usuario de la base de datos sólo puede tener un perfil predeterminado. is_default es de tipo bit y no tiene ningún valor predeterminado.

Valores de código de retorno

0 (correcto) o 1 (error)

Conjuntos de resultados

Ninguno

Comentarios

Este procedimiento almacenado cambia si el perfil especificado es el perfil predeterminado para el usuario de la base de datos. El usuario de la base de datos sólo puede tener un perfil privado predeterminado.

Si el nombre de la entidad de seguridad para la asociación es public o el Id. de la entidad de seguridad para la asociación es 0, este procedimiento almacenado cambia el perfil público. Sólo puede haber un perfil público predeterminado.

Si @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 almacenado sysmail_update_principalprofile_sp se encuentra en la base de datos msdb y pertenece al esquema dbo. El procedimiento se debe ejecutar con un nombre de tres partes si la base de datos actual no es msdb.

Permisos

Los permisos de ejecución para este procedimiento corresponden de forma predeterminada a los miembros del rol fijo de servidor sysadmin.

Ejemplos

A. Configurar un perfil como perfil público predeterminado para una base de datos

En el siguiente ejemplo se configura el perfil General Use Profile como perfil público predeterminado para los usuarios de la base de datos msdb.

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

B. Configurar un perfil como perfil privado predeterminado para un usuario

En el siguiente ejemplo se configura el perfil AdventureWorks2008R2 Administrator como perfil predeterminado para la entidad de seguridad ApplicationUser en la base de datos msdb. 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.

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