Procédure : créer des profils publics 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 de la messagerie de base de données pour créer des profils publics de messagerie de base de données. Un profil public permet à tout utilisateur ayant accès à la base de données msdb d'envoyer des messages électroniques à l'aide de ce profil.

Pour créer un profil public de messagerie de base de données à l'aide 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 facultative du profil.

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

  4. Accordez un accès public au profil en exécutant msdb.sysmail_add_principalprofile_sp avec 'public' comme valeur de @principal_name ou 0 comme valeur de @principal_id.

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 qui est alors doté d'un accès à tous les utilisateurs de la base de données msdb.

-- Create a Database Mail account

EXECUTE msdb.dbo.sysmail_add_account_sp
    @account_name = 'AdventureWorks Public Account',
    @description = 'Mail account for use by all database users.',
    @email_address = 'db_users@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 Public Profile',
    @description = 'Profile used for administrative mail.' ;

-- Add the account to the profile

EXECUTE msdb.dbo.sysmail_add_profileaccount_sp
    @profile_name = 'AdventureWorks Public Profile',
    @account_name = 'AdventureWorks Public Account',
    @sequence_number =1 ;

-- Grant access to the profile to all users in the msdb database

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