Page d'accueil » comment » Envoi automatisé de notifications par courrier électronique dans SQL Server avec SMTP

    Envoi automatisé de notifications par courrier électronique dans SQL Server avec SMTP

    Lorsque vous exécutez des tâches de sauvegarde automatisées sur votre serveur de base de données, vous oubliez parfois qu’elles sont en cours d’exécution. Ensuite, vous oubliez de vérifier si elles fonctionnent correctement et vous ne le réalisez pas avant que votre base de données ne se bloque et que vous ne puissiez pas la restaurer car vous n'avez pas de sauvegarde en cours..

    C'est là que les notifications par courrier électronique arrivent pour que vous puissiez voir le statut de votre travail chaque matin lorsque vous sirotez votre café et prétendez que vous travaillez..

    SQL Server fournit une méthode intégrée d'envoi d'e-mails, mais malheureusement, Outlook et un profil doivent être installés sur le serveur, ce qui n'est pas forcément le moyen idéal pour envoyer un email. Heureusement, il existe une autre méthode, qui consiste à installer une procédure stockée sur votre serveur qui vous permettra d’envoyer un courrier électronique via SMTP..

    Téléchargez la procédure stockée sp_SQLNotify ici.

    Vous voudrez éditer une ligne dans la procédure stockée pour mettre l'adresse IP de votre serveur SMTP:

    EXEC @hr = sp_OASetProperty @iMsg, 'Configuration.fields ("http://schemas.microsoft.com/cdo/configuration/smtpserver") .Value ", '10 .1.1.10'

    Installez la procédure stockée dans la base de données master, de sorte qu'elle puisse être facilement utilisée n'importe où.

    Ouvrez la liste Agent SQL Server \ Jobs et sélectionnez les propriétés du travail pour lequel vous essayez de créer une notification:

    Cliquez sur l'onglet Étapes et vous devriez voir un écran qui ressemble à ceci:

    Cliquez sur le bouton Nouveau pour créer une nouvelle étape de travail. Nous allons utiliser cette étape pour envoyer la notification par courrier électronique en cas de succès.

    Nom de l'étape: succès de la notification par courrier électronique

    Entrez ce code SQL dans la fenêtre de commande, comme indiqué ci-dessous. Vous souhaitez personnaliser les adresses électroniques et l'objet du message en fonction de votre environnement:

    exec master.dbo.sp_SQLNotify '[email protected]', '[email protected]', 'Succès du travail de sauvegarde', 'Le travail de sauvegarde s'est terminé avec succès'

    Cliquez sur OK, puis à nouveau sur le bouton Nouveau pour créer une autre étape. Ce sera l'étape de notification d'échec.

    Nom de l'étape: Échec de la notification par courrier électronique

    SQL:

    exec master.dbo.sp_SQLNotify '[email protected]', '[email protected]', 'Échec du travail de sauvegarde,' Le travail de sauvegarde a échoué '

    Maintenant, l’idée est de faire en sorte que les éléments suivent un flux de travail spécifique. Cliquez d'abord sur Modifier à l'étape 1 et définissez les propriétés comme indiqué ici:

    Ce que nous disons, c'est qu'en cas de succès, passez à l'étape de succès et en cas d'échec, à l'étape d'échec. Trucs assez simples.

    Maintenant, éditez la deuxième étape, celle intitulée «Réussite de la notification par courrier électronique», et définissez les propriétés comme indiqué ici:

    Nous disons que si le travail de notification aboutit, quittez simplement le travail sans exécuter l'étape 3. Si nous ne spécifions pas cela, nous aurions deux e-mails, l'un avec succès et l'autre avec un échec..

    Maintenant, éditez la troisième étape, celle intitulée «Échec de la notification par courrier électronique», et définissez les propriétés comme indiqué ici:

    Maintenant, vos étapes de travail devraient ressembler à ceci:

    Vous devriez maintenant avoir des notifications par courrier électronique dans votre boîte de réception en cas de succès ou d'échec.

    Remarque: la procédure stockée utilisée dans cet article a été trouvée ici, bien que cela puisse ne pas être la source d'origine.

    Téléchargez la procédure stockée sp_SQLNotify ici.