Blog

Configurer Database Mail avec Gmail


En cas d’échec sur un job SQL ou quand un seuil de performance est atteint, il peut être utile de recevoir une alerte mail pour être proactif. Plus simplement, pour envoyer un mail depuis SQL Server, on utilisera la fonctionnalité Database Mail. Cela se fait en plusieurs étapes, transposables en T-SQL (télécharger le script) :

– Configuration d’un serveur SMTP
– Configuration de Database Mail
– Ajout d’un opérateur
– Configuration de l’agent SQL Server
– Rétention de Database Mail

1. Configuration d’un serveur SMTP

Dans cette démo, on utilise un compte Gmail, on pourra donc s’affranchir de cette étape. Cela étant, en pratique, typiquement dans un environnement de PRODUCTION, on aura recours au service SMTP configuré au préalable sur la machine qui héberge notre instance SQL Server. La procédure est disponible en ligne :

https://msdn.microsoft.com/fr-fr/library/dn292550.aspx

2. Configuration de Database Mail

Activer la fonctionnalité Database Mail au niveau de l’instance

Clic droit sur Database Mail, cliquer sur Configure Database Mail

Expert SQL Server - Configurer Database Mail avec Gmail - SQL Server  - Database-Mail-00

Expert SQL Server - Configurer Database Mail avec Gmail - SQL Server  - Database-Mail-01

Sélectionner Set Up Database Mail

Expert SQL Server - Configurer Database Mail avec Gmail - SQL Server  - Database-Mail-02

Renseigner le nom du profil, la description puis cliquer sur Add… pour y associer un compte mail.

Expert SQL Server - Configurer Database Mail avec Gmail - SQL Server  - Database-Mail-03

Renseigner le nom du compte, l’adresse mail, le serveur SMTP, le port et l’authentification…

Expert SQL Server - Configurer Database Mail avec Gmail - SQL Server  - dmgmail

Dans le cas où l’on a recourt à un serveur SMTP interne, la création de compte sera plus proche de cette configuration :

Expert SQL Server - Configurer Database Mail avec Gmail - SQL Server  - dma

Le compte Gmail est désormais associé au profil DBA.

Expert SQL Server - Configurer Database Mail avec Gmail - SQL Server  - dmgmail2

Cocher l’option Public et sélectionner Yes dans la liste Default Profile.

Expert SQL Server - Configurer Database Mail avec Gmail - SQL Server  - Database-Mail-05

Valider les paramètres système par défaut

Expert SQL Server - Configurer Database Mail avec Gmail - SQL Server  - Database-Mail-06

Confirmer la configuration de Database Mail

Expert SQL Server - Configurer Database Mail avec Gmail - SQL Server  - dmconfirm

La configuration est alors appliquée

Expert SQL Server - Configurer Database Mail avec Gmail - SQL Server  - dmdone

Pour tester la configuration de Databse Mail, faire un clic droit sur Database Mail et cliquer sur Send Test E-Mail.

Expert SQL Server - Configurer Database Mail avec Gmail - SQL Server  - Database-Mail-09

Renseigner le destinataire

Expert SQL Server - Configurer Database Mail avec Gmail - SQL Server  - Send-Mail

Une fois le mail envoyé, pour consulter les logs et identifier une erreur éventuelle, faire un clic droit sur Database Mail et cliquer sur View Database Mail Log.

Expert SQL Server - Configurer Database Mail avec Gmail - SQL Server  - Database-Mail-Log

Expert SQL Server - Configurer Database Mail avec Gmail - SQL Server  - Database-Mail-09.1

3. Ajout d’un opérateur

Clic droit sur le conteneur Operator et sélectionner l’option New Operator

Expert SQL Server - Configurer Database Mail avec Gmail - SQL Server  - Add-Operator

Renseigner au minimum le nom et l’adresse mail de l’opérateur

Expert SQL Server - Configurer Database Mail avec Gmail - SQL Server  - Operator_1.0

4. Configuration de l’agent SQL Server

Une fois qu’on a configuré Database Mail et ajouté au moins un opérateur, on active la fonctionnalité au niveau de l’agent SQL en activant le profil mail et l’opérateur créés précédemment.

Expert SQL Server - Configurer Database Mail avec Gmail - SQL Server  - Database-Mail-10

En dernier lieu, on redémarre le service de l’agent SQL pour la prise d’effet, avec un délai de 5 secondes entre chaque opération.

Par la suite, pour être notifié par mail de l’état d’un job (succès, échec ou complet), il suffit de se rendre dans la section Notifications d’un job, cocher E-Mail et sélectionner l’opérateur :

Expert SQL Server - Configurer Database Mail avec Gmail - SQL Server  - notifjob

5. Rétention de Database Mail

Attention à la croissance de la base de données système msdb dans laquelle sont stockés la configuration mais aussi les logs et mails générés par Database Mail. Database Mail doit faire l’objet d’une purge régulière.  Le cas échéant, la croissance de la base de données système msdb qui gère aussi les jobs de l’agent SQL sera affectée. Le script suivant permet de purger les données antérieurs à 30 jours. Reste à planifier son exécution.

 

Auteur

Expert SQL Server - Configurer Database Mail avec Gmail - SQL Server  - avatar_ninja_tete-150x150
Sarah Béquet
Archietcte Data Microsoft, les maîtres mots sont : performance, industrialisation, méthodologie & bonne humeur.
error: