Share via


sysmail_update_principalprofile_sp (Transact-SQL)

S’applique à :SQL Server

Met à jour les informations d'une association entre un principal et un profil.

Conventions de la syntaxe Transact-SQL

Syntaxe

sysmail_update_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 de l’utilisateur ou du rôle de base de données dans la msdb base de données pour que l’association change. principal_id est int, avec la valeur par défaut NULL. Vous devez spécifier @principal_id ou @principal_name .

[ @principal_name = ] 'principal_name'

Nom de l’utilisateur ou du rôle de base de données dans la msdb base de données pour que l’association soit mise à jour. principal_name est sysname, avec la valeur par défaut NULL. Vous devez spécifier @principal_id ou @principal_name .

[ @profile_id = ] profile_id

ID du profil pour que l’association change. @profile_id est int, avec la valeur par défaut NULL. Vous devez spécifier @profile_id ou @profile_name .

[ @profile_name = ] 'profile_name'

Nom du profil pour l'association à modifier. @profile_name est sysname, avec la valeur par défaut NULL. Vous devez spécifier @profile_id ou @profile_name .

[ @is_default = ] is_default

Indique si ce profil est le profil par défaut de l’utilisateur de base de données. Un utilisateur de base de données ne peut avoir plus d'un seul profil par défaut. @is_default est bit, sans valeur par défaut.

Valeurs des codes de retour

0 (réussite) ou 1 (échec).

Jeu de résultats

Aucune.

Notes

Cette procédure stockée est modifiée si le profil spécifié est ou non le profil par défaut pour l'utilisateur de la base de données. Un utilisateur de base de données peut avoir uniquement un profil privé par défaut.

Lorsque le nom du principal de l’association est public ou que l’ID principal de l’association est 0, cette procédure stockée modifie le profil public. Il ne peut y avoir qu'un seul profil public par défaut.

Lorsque @is_default est 1 et que le principal est associé à plusieurs profils, le profil spécifié devient le profil par défaut du principal. Le précédent profil par défaut est toujours associé au principal, mais il ne représente plus le profil par défaut.

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

Autorisations

Cette procédure stockée appartient au rôle db_owner . Vous pouvez accorder EXECUTE des autorisations pour n’importe quel utilisateur, mais ces autorisations peuvent être remplacées lors d’une mise à niveau de SQL Server.

Exemples

R. Définir un profil comme profil public par défaut pour une base de données

L’exemple suivant montre comment définir le profil General Use Profile public par défaut pour les utilisateurs de la msdb base de données.

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

B. Définir un profil comme profil privé par défaut pour un utilisateur

L’exemple suivant montre comment définir le profil AdventureWorks Administrator comme profil par défaut pour le principal ApplicationUser de la msdb base de données. Le profil doit déjà être associé au principal. Le précédent profil par défaut est toujours associé au principal, mais il ne représente plus le profil par défaut.

EXEC msdb.dbo.sysmail_update_principalprofile_sp
    @principal_name = 'ApplicationUser',
    @profile_name = 'AdventureWorks Administrator',
    @is_default = '1' ;