sysmail_add_principalprofile_sp (Transact-SQL)

Accorde l'autorisation d'utilisation d'un profil de messagerie de base de données à un utilisateur de base de données ou à un rôle de base de données.

Icône Lien de rubriqueConventions de syntaxe de Transact-SQL

Syntaxe

sysmail_add_principalprofile_sp  { [ @principal_id = ] principal_id | [ @principal_name = ] 'principal_name' } ,
    { [ @profile_id = ] profile_id | [ @profile_name = ] 'profile_name' }
    [ , [ @is_default ] = 'is_default' ]

Arguments

  • [ @principal_id = ] principal_id
    ID du rôle ou de l'utilisateur de base de données dans la base de données msdb pour l'association. L'argument principal_id est de type int avec NULL comme valeur par défaut. principal_id ou principal_name doit être spécifié. Si principal_id a la valeur 0, le profil est public, accordant ainsi l'accès à tous les principaux de la base de données.

  • [ @principal_name = ] 'principal_name'
    Nom du rôle ou de l'utilisateur de base de données dans la base de données msdb pour l'association. L'argument principal_name est de type sysname avec NULL comme valeur par défaut. principal_id ou principal_name doit être spécifié. Si principal_name a la valeur 'public', le profil est public, accordant ainsi l'accès à tous les principaux de la base de données.

  • [ @profile_id = ] profile_id
    Identificateur du profil pour l'association. L'argument profile_id est de type int, avec NULL comme valeur par défaut. profile_id ou profile_name doit être spécifié.

  • [ @profile_name = ] 'profile_name'
    Nom du profil pour l'association. L'argument profile_name est de type sysname et n'a pas de valeur par défaut. profile_id ou profile_name doit être spécifié.

  • [ @is_default = ] is_default
    Indique si ce profil représente le profil par défaut pour le principal. Un principal ne peut avoir qu'un seul profil par défaut. L'argument is_default est de type bit et n'a pas de valeur par défaut.

Valeurs du code de retour

0 (succès) ou 1 (échec)

Notes

Pour rendre un profil public, spécifiez un @principal_id de 0 ou donnez à l'argument @principal_name la valeur public. Un profil public est disponible pour tous les utilisateurs dans la base de données msdb, mais ces utilisateurs doivent être membres de DatabaseMailUserRole pour exécuter la procédure sp_send_dbmail.

Un utilisateur de base de données ne peut avoir plus d'un seul profil par défaut. Lorsque @is_default a la valeur 1 et que l'utilisateur est déjà associé à un ou plusieurs profils, le profil spécifié devient le profil par défaut de l'utilisateur. L'ancien profil par défaut est toujours associé à l'utilisateur, mais n'est plus le profil par défaut.

Lorsque @is_default a la valeur 0 et qu'il n'existe aucune autre association, la procédure stockée renvoie une erreur.

La procédure stockée sysmail_add_principalprofile_sp se trouve dans la base de données msdb et appartient au schéma dbo. Cette procédure doit être exécutée avec un nom en trois parties si la base de données active n'est pas msdb.

Autorisations

Les autorisations d'exécution de cette procédure sont accordées par défaut aux membres du rôle de serveur fixe sysadmin.

Exemples

A. Création d'une association et définition du profil par défaut

L'exemple suivant crée une association entre le profil appelé AdventureWorks2008R2 Administrator Profile et l'utilisateur ApplicationUser de la base de données msdb. Le profil est le profil par défaut de l'utilisateur.

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

B. Modification d'un profil en profil public par défaut

L'exemple suivant fait du profil AdventureWorks2008R2 Public Profile le profil public par défaut des utilisateurs de la base de données msdb.

EXECUTE msdb.dbo.sysmail_add_principalprofile_sp
    @principal_name = 'public',
    @profile_name = 'AdventureWorks2008R2 Public Profile',
    @is_default = 1 ;