Utilisation de Database Mail sur Amazon RDS for SQL Server - Amazon Relational Database Service

Utilisation de Database Mail sur Amazon RDS for SQL Server

Vous pouvez utiliser Database Mail pour envoyer des e-mails à des utilisateurs à partir de votre instance de base de données Amazon RDS sur SQL Server. Les messages peuvent contenir des fichiers et des résultats de requête. Database Mail comprend les éléments suivants :

  • Objets de configuration et de sécurité – Ces objets créent des profils et des comptes, et sont stockés dans la base de données msdb.

  • Objets de messagerie – Ces objets incluent la procédure stockée sp_send_dbmail utilisée pour envoyer des messages, ainsi que des structures de données contenant des informations sur les messages. Ils sont stockés dans la base de données msdb.

  • Objets de journalisation et d'audit – Database Mail écrit les informations de journalisation dans la base de données msdb et dans le journal des événements de l'application Microsoft Windows.

  • Le fichier exécutable de Database MailDatabaseMail.exe lit le contenu d'une file d'attente de la base de données msdb et envoie les e-mails.

RDS prend en charge Database Mail pour toutes les versions de SQL Server sur les éditions Web, Standard et Enterprise.

Limitations

Les limites suivantes s'appliquent à l'utilisation de Database Mail sur votre instance de base de données SQL Server :

  • Database Mail n'est pas pris en charge pour SQL Server Express Edition.

  • La modification des paramètres de configuration de Database Mail n'est pas prise en charge. Pour afficher les valeurs prédéfinies (par défaut), vous devez utiliser la procédure stockée sysmail_help_configure_sp.

  • Les pièces jointes ne sont pas entièrement prises en charge. Pour plus d'informations, consultez Utilisation de pièces jointes.

  • La taille maximale des pièces jointes est de 1 Mo.

  • Database Mail requiert une configuration supplémentaire sur les instances de base de données multi-AZ. Pour plus d'informations, consultez Considérations sur les déploiements multi-AZ.

  • La configuration de SQL Server Agent pour envoyer des e-mails à des opérateurs prédéfinis n'est pas prise en charge.

Fonctions et procédures stockées Amazon RDS pour Database Mail

Microsoft fournit des procédures stockées pour utiliser Database Mail, comme la création, la présentation en listes, la mise à jour et la suppression de comptes et de profils. En outre, RDS fournit les fonctions et procédures stockées Database Mail présentées dans le tableau suivant.

Procédure/Fonction Description
rds_fn_sysmail_allitems Affiche les messages envoyés, y compris ceux envoyés par d'autres utilisateurs.
rds_fn_sysmail_event_log Affiche les événements, y compris ceux des messages envoyés par d'autres utilisateurs.
rds_fn_sysmail_mailattachments Affiche les pièces jointes, y compris celles des messages envoyés par d'autres utilisateurs.
rds_sysmail_control Lance et arrête la file d'attente de la messagerie (processus DatabaseMail.exe).
rds_sysmail_delete_mailitems_sp Supprime des tables internes de Database Mail les e-mails envoyés par l'ensemble des utilisateurs.

Utilisation de pièces jointes

Les extensions de pièces jointes suivantes ne sont pas prises en charge dans les messages Database Mail à partir de RDS sur SQL Server : .ade, .adp, .apk, .appx, .appxbundle, .bat, .bak, .cab, .chm, .cmd, .com, .cpl, .dll, .dmg, .exe, .hta, .inf1, .ins, .isp, .iso, .jar, .job, .js, .jse, .ldf, .lib, .lnk, .mde, .mdf, .msc, .msi, .msix, .msixbundle, .msp, .mst, .nsh, .pif, .ps, .ps1, .psc1, .reg, .rgs, .scr, .sct, .shb, .shs, .svg, .sys, .u3p, .vb, .vbe, .vbs, .vbscript, .vxd, .ws, .wsc, .wsf et .wsh.

Database Mail utilise le contexte de sécurité Microsoft Windows de l'utilisateur actuel pour contrôler l'accès aux fichiers. Les utilisateurs qui se connectent avec l'authentification SQL Server ne peuvent pas joindre de fichiers à l'aide du paramètre @file_attachments avec la procédure stockée sp_send_dbmail. Windows n'autorise pas SQL Server à fournir des informations d'identification d'un ordinateur distant à un autre ordinateur distant. Par conséquent, Database Mail ne peut pas joindre des fichiers provenant d'un partage réseau lorsque la commande est exécutée à partir d'un ordinateur autre que celui qui exécute SQL Server.

Vous pouvez toutefois utiliser des tâches SQL Server Agent pour joindre des fichiers. Pour plus d'informations sur SQL Server Agent, consultez Utilisation de SQL Server Agent pour Amazon RDS et SQL Server Agent dans la documentation Microsoft.

Considérations sur les déploiements multi-AZ

Lorsque vous configurez Database Mail sur une instance de base de données multi-AZ, la configuration n'est pas automatiquement propagée vers la zone secondaire. Nous vous recommandons de convertir l'instance multi-AZ en instance mono-AZ, de configurer Database Mail, puis de reconvertir l'instance de base de données en instance multi-AZ. Les nœuds principal et secondaire disposeront ensuite de la configuration de Database Mail.

Si vous créez un réplica en lecture à partir de l'instance multi-AZ sur laquelle Database Mail est configuré, le réplica hérite de la configuration, mais sans le mot de passe du serveur SMTP. Mettez à jour le compte Database Mail avec le mot de passe.

Suppression de la restriction SMTP (port 25)

AWS bloque par défaut le trafic sortant sur SMTP (port 25) pour les instances de base de données RDS for SQL Server. Cela permet d’éviter le spam en fonction des politiques du propriétaire de l’interface réseau Elastic. Vous pouvez supprimer cette restriction si nécessaire. Pour plus d’informations, consultez Comment supprimer la restriction du port 25 à partir de mon instance Amazon EC2 ou de ma fonction Lambda ?.