Introduction
L’une des requêtes qui peut être demandé à un adminsitrateur SQL est l’execution régulière d’une requête et le transmission de son résultat par email.
Prérequis
Afin de répondre à ce type de demande, les outils suivants seront utiles :
- La procédure “sp_send_dbmail”,
- L’agent SQL Server,
- La configuration d’un profile Database Mail.
Réalisation
Le script suivant permet d’envoyer par mail le résultat de la procédure stockée “usp_StoredProcedure” :
Depuis la base MSDB, executer la procedure “sp_send_dbmail” (ligne 1), cette procédure prends les paramètres suivants :
@profile_name : profile mail configuré sur SQL Server sous le dossier “Management”
@recipients : adresse mail du destinataire
@subject : sujet qui figureras dans le mail envoyé
@query : requête à executer
@query_result_width : largeur en nombre de caractère du fichier qui seras envoyé en pièce jointe, par défaut la valeur est de 256 caractères, ce paramètre est important si l’on souhaite réaliser par la suite un import vers excel
@attach_query_result_as_file : utiliser la valeur “1” afin de fournir le resultat de cette requête dans un fichier en pièce jointe
@query_attachment_filename : nom du fichier en pièce jointe
@query_result_separator : caractère de séparation qui seras utilisé
L’article suivant explique plus en détails les paramètres qu’il est possible d’utiliser : https://msdn.microsoft.com/fr-fr/library/ms190307.aspx