Remarque
L’accès à cette page requiert une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page requiert une autorisation. Vous pouvez essayer de modifier des répertoires.
S’applique à :SQL Server
Utilisez soit l’Assistant Configuration de Database Mail ou Transact-SQL pour créer des profils privés et publics de Database Mail. Pour plus d’informations sur les profils de messagerie, consultez Objets de configuration de la messagerie de base de données.
Conseil / Astuce
La création d’un profil de messagerie de base de données n’est pas nécessaire dans Azure SQL Managed Instance, qui est déjà configurée pour rechercher un profil appelé AzureManagedInstance_dbmail_profile. Pour plus d’informations et un exemple de script, consultez les notifications de travaux d’Azure SQL Managed Instance SQL Agent.
Prérequis
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 Créer un compte de messagerie de base de données.
Sécurité
Un profil public permet à tout utilisateur ayant accès à la base de données msdb d’envoyer des e-mails à l’aide de ce profil. 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 envoyer du courrier, vous devez être membre du rôle DatabaseMailUserRole de la base de données msdb et disposer d'au moins un accès à un profil de Database Mail.
autorisations
L'utilisateur qui crée les comptes de profils et exécute des procédures stockées doit être membre du rôle serveur fixe sysadmin.
Utiliser l’Assistant Configuration de la messagerie de base de données pour créer un profil de messagerie de base de données
Les étapes suivantes utilisent SQL Server Management Studio (SSMS). Téléchargez la dernière version de SSMS à aka.ms/ssms.
Dans l’Explorateur d’objets, connectez-vous à l’instance SQL Server où vous souhaitez configurer la messagerie de base de données et développez l’arborescence du serveur.
Développez le nœud Gestion .
Double-cliquez sur Messagerie de base de données pour ouvrir l’Assistant Configuration de la messagerie de base de données.
Dans la page Sélectionner une tâche de configuration , sélectionnez l'option Gérer les comptes et les profils de Database Mail , puis sélectionnez Suivant.
Dans la page Gérer les profils et les comptes, sélectionnez l'option Créer un nouveau profil , puis sélectionnez Suivant.
Dans la page Nouveau profil, spécifiez le nom de profil et la description, et ajoutez des comptes à inclure dans le profil, puis sélectionnez Suivant.
Dans la page Terminer l'Assistant , examinez les actions à exécuter, puis sélectionnez Terminer pour terminer la création du nouveau profil.
Pour configurer un profil privé de messagerie de base de données
Ouvrez l'Assistant Configuration de la messagerie de base de données.
Dans la page Sélectionner une tâche de configuration, sélectionnez l'option Gérer les comptes et les profils de Database Mail, puis sélectionnez Suivant.
Dans la page Gérer les profils et les comptes, sélectionnez l'option Gérer la sécurité des profils , puis sélectionnez Suivant.
Sous l'onglet Profils privés, activez la case à cocher du profil que vous souhaitez configurer et sélectionnez Suivant.
Dans la page Terminer l'Assistant, examinez les actions à exécuter, puis sélectionnez Terminer pour terminer la configuration du profil.
Pour configurer un profil public de messagerie de base de données
Ouvrez l'Assistant Configuration de la messagerie de base de données.
Dans la page Sélectionner une tâche de configuration, sélectionnez l'option Gérer les comptes et les profils de Database Mail, puis sélectionnez Suivant.
Dans la page Gérer les profils et les comptes, sélectionnez l'option Gérer la sécurité des profils , puis sélectionnez Suivant.
Sous l'onglet Profils publics, activez la case à cocher du profil que vous souhaitez configurer et sélectionnez Suivant.
Dans la page Terminer l'Assistant, examinez les actions à exécuter, puis sélectionnez Terminer pour terminer la configuration du profil.
Utiliser Transact-SQL pour créer un profil de messagerie de base de données
Pour exécuter des commandes T-SQL sur votre instance SQL Server, utilisez SQL Server Management Studio (SSMS),l’extension MSSQL pour Visual Studio Code, sqlcmd ou votre outil de requête T-SQL favori.
Créer un profil de messagerie de base de données privée avec T-SQL
Connectez-vous à l’instance SQL Server. Ouvrez une fenêtre de nouvelle requête.
Pour créer un profil, exécutez la procédure stockée système sysmail_add_profile_sp :
EXECUTE msdb.dbo.sysmail_add_profile_sp @profile_name = 'Profile Name' , @description = 'Description';Dans le script précédent,
@profile_nameest le nom du profil et@descriptionest une description conviviale facultative du profil.Pour chaque compte, exécutez la procédure stockée système sysmail_add_profileaccount_sp :
EXECUTE msdb.dbo.sysmail_add_profileaccount_sp @profile_name = 'Profile Name' , @account_name = 'Name of the account' , @sequence_number = 'sequence number of the account within the profile.';Dans l’exemple de script précédent,
@profile_nameest le nom du profil et@account_namele nom du compte à ajouter au profil,@sequence_numberdétermine l’ordre dans lequel les comptes sont utilisés dans le profil.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. Pour ce faire, exécutez la procédure stockée système sysmail_add_principalprofile_sp :
EXECUTE msdb.dbo.sysmail_add_principalprofile_sp @profile_name = 'Name of the profile' , @principal_name = 'Name of the database user or role' , @is_default = 'Default profile enabled';Dans l’exemple de script précédent,
@profile_nameest le nom du profil,@principal_nameest le nom de l’utilisateur ou du rôle de base de données et@is_defaultdétermine si ce profil est la valeur par défaut de l’utilisateur ou du rôle de base de données.
L'exemple suivant crée un compte et un profil privé de Database Mail, puis ajoute le compte au profil et octroie au rôle de base de données DBMailUsers 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 ;
Créer un profil public de messagerie de base de données avec T-SQL
Connectez-vous à l’instance SQL Server. Ouvrez une fenêtre de nouvelle requête.
Pour créer un profil, exécutez la procédure stockée système sysmail_add_profile_sp (Transact-SQL) :
EXECUTE msdb.dbo.sysmail_add_profile_sp @profile_name = 'Profile Name' , @description = 'Description';Dans le script précédent,
@profile_nameest le nom du profil et@descriptionest une description facultative du profil.Pour chaque compte, exécutez la procédure stockée sysmail_add_profileaccount_sp (Transact-SQL) :
EXECUTE msdb.dbo.sysmail_add_profileaccount_sp @profile_name = 'Name of the profile' , @account_name* = 'Name of the account' , @sequence_number* = 'sequence number of the account within the profile.'Dans l’exemple de script précédent,
@profile_nameest le nom du profil et@account_namele nom du compte à ajouter au profil,@sequence_numberdétermine l’ordre dans lequel les comptes sont utilisés dans le profil.Pour accorder l’accès public, exécutez la procédure stockée sysmail_add_principalprofile_sp (Transact-SQL) :
EXECUTE msdb.dbo.sysmail_add_principalprofile_sp @profile_name = 'Name of the profile' , @principal_name = 'public or 0' , @is_default = 'Default Profile enabled';Dans l’exemple de script précédent,
@profile_nameest le nom du profil et@principal_namepour indiquer qu’il s’agit d’un profil public,@is_defaultdétermine si ce profil est la valeur par défaut de l’utilisateur ou du rôle de base de données.
L'exemple suivant crée un compte et un profil privé de messagerie de base de données, puis ajoute le compte au profil et octroie l'accès public au profil.
-- 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 ;