Procédure : créer des profils privés de messagerie de base de données (Transact-SQL)

Utilisez l'Assistant Configuration de la messagerie de base de données ou les procédures stockées Messagerie de base de données pour créer des profils privés de messagerie de base de données, afin d'envoyer des messages SMTP (Simple Mail Transfer Protocol). Un profil privé peut être utilisé par un utilisateur ou par un rôle. Accorder l'accès de rôles aux profils permet de créer une architecture plus facile à maintenir.

Pour créer un profil de messagerie de base de données au moyen de Transact-SQL

  1. Créez un ou plusieurs comptes de messagerie de base de données pour le profil. Pour plus d'informations sur la création de comptes de messagerie de base de données, consultez Procédure : créer des comptes de messagerie de base de données (Transact-SQL).

  2. Exécutez la procédure stockée msdb.dbo.sysmail_add_profile_sp pour créer le profil, en spécifiant :

    • Le nom du profil à créer.

    • Une description éventuelle du profil.

  3. Pour chaque compte, exécutez msdb.dbo.sysmail_add_profileaccount_sp pour ajouter le compte au profil.

  4. Octroyez une autorisation d'accès au profil à chaque rôle de base de données ou à chaque utilisateur qui enverra des messages électroniques via ce profil, en exécutant msdb.sysmail_add_principalprofile_sp.

Exemple

L'exemple suivant crée un compte et un profil de messagerie de base de données. Le compte est ensuite ajouté au profil et octroie au rôle de base de données DBMailUsers créé dans la base de données msdb l’accès à ce profil.

-- Create a Database Mail account
EXECUTE msdb.dbo.sysmail_add_account_sp
    @account_name = 'AdventureWorks Administrator',
    @description = 'Mail account for administrative e-mail.',
    @email_address = 'dba@Adventure-Works.com',
    @replyto_address = 'danw@Adventure-Works.com',
    @display_name = 'AdventureWorks Automated Mailer',
    @mailserver_name = 'smtp.Adventure-Works.com' ;

-- Create a Database Mail profile
EXECUTE msdb.dbo.sysmail_add_profile_sp
    @profile_name = 'AdventureWorks Administrator Profile',
    @description = 'Profile used for administrative mail.' ;

-- Add the account to the profile
EXECUTE msdb.dbo.sysmail_add_profileaccount_sp
    @profile_name = 'AdventureWorks Administrator Profile',
    @account_name = 'AdventureWorks Administrator',
    @sequence_number =1 ;

-- Grant access to the profile to the DBMailUsers role
EXECUTE msdb.dbo.sysmail_add_principalprofile_sp
    @profile_name = 'AdventureWorks Administrator Profile',
    @principal_name = 'ApplicationUser',
    @is_default = 1 ;