Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S’applique à :SQL Server
Azure SQL Managed Instance
Database Mail est une solution d’entreprise qui permet l’envoi d’e-mails à partir du moteur de base de données SQL Server ou d’Azure SQL Managed Instance. Vos applications peuvent envoyer des messages électroniques aux utilisateurs au moyen de Database Mail et par le biais d’un serveur SMTP externe. Ces messages peuvent contenir les résultats d'une requête, voire des fichiers de n'importe quelle ressource de votre réseau.
Remarque
La messagerie de base de données est disponible dans le moteur de base de données SQL Server et Azure SQL Managed Instance, mais pas dans les pools élastiques et Azure SQL Database. Pour plus d’informations sur l’utilisation de Database Mail dans Azure SQL Managed Instance, consultez Automatiser des tâches de gestion à l’aide de travaux SQL Agent dans Azure SQL Managed Instance.
Avantages liés à l'utilisation de la messagerie de base de données
La messagerie de base de données est fiable, évolutive, sûre et facilement prise en charge.
Fiabilité
Elle utilise le protocole SMTP (Simple Mail Transfer Protocol) standard pour l'envoi de messages. Vous pouvez utiliser Database Mail sans installer le client MAPI étendu sur l'ordinateur qui exécute SQL Server.
Isolement du processus. Pour minimiser l'impact sur SQL Server, le composant qui envoie les messages s'exécute en dehors de SQL Server, dans un processus séparé. SQL Server continuera à mettre ses messages dans la file d’attente en cas d’arrêt ou d’échec de ce processus externe. Ces messages seront envoyés une fois que le processus extérieur est rétabli ou que le serveur SMTP est en ligne.
Comptes de basculement. Un profil de messagerie de base de données vous permet de spécifier plusieurs serveurs SMTP. Si l'un deux est indisponible, le courrier est envoyé vers un autre serveur.
Prise en charge de cluster. La messagerie de base de données peut être installée sur un cluster.
Évolutivité
Remise à l'arrière-plan : la messagerie de base de données assure la remise à l'arrière-plan ou asynchrone du courrier électronique. Lorsque vous appelez
sp_send_dbmail
pour envoyer un message, Database Mail ajoute une demande dans une file d’attente Service Broker. La procédure stockée est immédiatement retournée. Le composant de messagerie externe reçoit la demande et transmet le courrier électronique.Plusieurs profils : lDatabase Mail vous permet de créer plusieurs profils dans une même instance de SQL Server. Vous pouvez également choisir le profil que la messagerie de base de données utilise lorsque vous envoyez un message.
Plusieurs comptes : chaque profil peut contenir plusieurs comptes de basculement. Vous pouvez configurer différents profils avec différents comptes afin de distribuer le courrier électronique vers plusieurs serveurs de messagerie.
Compatibilité 64 bits : Database Mail est entièrement compatible avec les installations 64 bits de SQL Server.
Sécurité
Désactivée par défaut : pour réduire la zone de surface de SQL Server, les procédures stockées de Database Mail sont désactivées par défaut.
Sécurité de la messagerie : pour envoyer un message de Database Mail, vous devez être membre du rôle de base de données DatabaseMailUserRole de la base de données
msdb
.Sécurité du profil : la messagerie de base de données garantit la sécurité des profils de messagerie. Vous choisissez les utilisateurs ou les groupes de la base de données
msdb
qui ont accès à un profil de Database Mail. Vous pouvez autoriser cet accès soit à certains utilisateurs en particulier ou à tous les utilisateurs demsdb
. Un profil privé limite l'accès à une liste d'utilisateurs. Un profil public autorise l'accès à tous les utilisateurs d'une base de données.Administrateur de taille des pièces jointes : la messagerie de base de données limite la taille des fichiers joints (limite configurable). Vous pouvez modifier cette limite en utilisant la procédure stockée sysmail_configure_sp .
Extensions de fichiers interdites : la messagerie de base de données maintient une liste d'extensions de fichiers interdites. Les utilisateurs ne peuvent pas joindre de fichiers dont l'extension figure dans la liste. Vous pouvez modifier cette liste en utilisant sysmail_configure_sp.
Database Mail s'exécute sous le compte de service du moteur SQL Server. Pour attacher un fichier provenant d'un dossier dans un message électronique, le compte du moteur SQL Server doit être autorisé à accéder au dossier dans lequel se trouve le fichier.
Prise en charge
Configuration intégrée : Database Mail maintient les informations des comptes de messagerie dans le moteur de base de données SQL Server. Il n'est pas nécessaire de gérer un profil de messagerie dans une application cliente externe. L'Assistant Configuration de la messagerie de base de données offre une interface pratique pour la configuration de la messagerie de base de données. Vous pouvez également créer et maintenir vos configurations Database Mail au moyen de Transact-SQL.
Journalisation. La messagerie de base de données journalise l’activité de messagerie vers SQL Server, le journal des événements de l’application Microsoft Windows et les tables de la
msdb
base de données.Audit : Database Mail conserve des copies des messages et des pièces jointes envoyés dans la base de données
msdb
. Vous pouvez facilement contrôler l'utilisation de la messagerie et consulter les messages conservés.Prise en charge du HTML : la messagerie de base de données vous permet d'envoyer des messages au format HTML.
Architecture de la messagerie de base de données
La messagerie de base de données est conçue selon une architecture de file d'attente qui fait appel aux technologies Service Broker. Lorsque les utilisateurs exécutent sp_send_dbmail
, cette procédure stockée insère un élément dans la file d’attente de messagerie et crée un enregistrement contenant le message électronique. L'insertion de la nouvelle entrée dans la file d'attente de messagerie active le processus de messagerie de base de données externe (DatabaseMail.exe). Le processus externe lit les informations du message et envoie celui-ci aux serveurs de messagerie appropriés. Le processus externe insère un élément dans la file d'attente État pour obtenir le résultat de l'opération d'envoi. L'insertion de cette nouvelle entrée dans la file d'attente d'état active une procédure stockée interne qui met à jour l'état du message électronique. Outre qu'elle stocke le message électronique envoyé (ou non envoyé), la messagerie de base de données enregistre également toutes les pièces jointes dans des tables système. Les vues de la messagerie de base de données fournissent l'état des messages pour la résolution de problèmes, et les procédures stockées permettent d'administrer la file d'attente de la messagerie de base de données.
Présentation des composants de Database Mail
La messagerie de base de données est composée des composants principaux suivants :
Composants de configuration et de sécurité
Database Mail stocke les informations de configuration et de sécurité dans la base de données
msdb
. Les objets de configuration et de sécurité créent les profils et les comptes utilisés par la messagerie de base de données.Composants de messagerie
La base de données
msdb
fait office de base de données hôte de messagerie qui contient les objets de messagerie que Database Mail utilise pour envoyer des messages électroniques. Ces objets incluent la procédure stockéesp_send_dbmail
et les structures de données qui contiennent les informations concernant les messages.Exécutable de la messagerie de base de données
L’exécutable de Database Mail est un programme externe qui lit à partir d’une file d’attente dans la base de données
msdb
et qui envoie des messages à des serveurs de messagerie.Composants de journalisation et d'audit
La messagerie de base de données enregistre les informations de journalisation dans la
msdb
base de données et le journal des événements de l’application Microsoft Windows.
Configuration de SQL Agent pour utiliser Database Mail
Vous pouvez configurer l'Agent SQL Server de manière à ce qu'il utilise la messagerie de base de données. Cette opération est requise pour les notifications d'alertes et la notification automatique à l'achèvement d'un travail.
Avertissement
Les différentes étapes d'un travail peuvent également envoyer un message électronique sans qu'il soit nécessaire de configurer SQL Server Agent pour utiliser Database Mail. Par exemple, une étape de travail Transact-SQL peut utiliser Database Mail pour envoyer les résultats d'une requête à une liste de destinataires.
Vous pouvez configurer SQL Server Agent de manière à envoyer des messages électroniques à des opérateurs prédéfinis lorsque :
Une alerte est déclenchée. Les alertes peuvent être configurées pour l'envoi de notifications par courrier électronique d'événements spécifiques qui se produisent. Par exemple, les alertes peuvent être configurées pour avertir un opérateur d’un événement de base de données particulier ou d’une condition de système d’exploitation qui peut nécessiter une action immédiate. Pour plus d’informations sur la configuration des alertes, consultez Alertes.
Une tâche planifiée, telle qu'une sauvegarde de base de données ou un événement de réplication, réussit ou échoue. Par exemple, vous pouvez utiliser la messagerie de SQL Server Agent pour notifier à des opérateurs qu'une erreur s'est produite lors d'un traitement de fin de mois.
Contenu connexe
- Objets de configuration de la messagerie de base de données
- Objets de messagerie de base de données
- Programme externe de la messagerie de base de données
- Journal et audits de la messagerie de base de données
- Configurer la messagerie de base de données
- Configurer la messagerie SQL Server Agent en vue d’utiliser Database Mail
- Automatiser des tâches de gestion à l’aide de travaux SQL Agent dans Azure SQL Managed Instance