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

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

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

Vidéo: Envoi automatisé de notifications par courrier électronique dans SQL Server avec SMTP
Vidéo: SSH - se connecter à distance - YouTube 2024, Peut
Anonim

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éaliserez pas avant que votre base de données ne se bloque et vous ne pouvez pas la restaurer car vous n’avez pas de sauvegarde en cours.

C’est là que les notifications par e-mail arrivent pour que vous puissiez voir l’état du travail tous les matins 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 e-mail. Heureusement, il existe une autre méthode, qui consiste à installer une procédure stockée sur votre serveur qui vous permettra d’envoyer des courriers électroniques 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(“https://schemas.microsoft.com/cdo/configuration/smtpserver”).Value’, ‘10.1.1.10’

Installez la procédure stockée dans la base de données master afin 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 l'onglet Étapes et vous devriez voir un écran qui ressemble à ceci:

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]’,’Backup Job Success’,’The Backup Job completed successfully’

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

SQL:

exec master.dbo.sp_SQLNotify ‘[email protected]’,’[email protected]’,’Backup Job Failure,’The Backup Job failed’

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

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 réussit, quittez simplement le travail sans exécuter l'étape 3. Si nous ne le précisons pas, nous aurons deux e-mails, l'un avec succès et l'autre avec un échec.
Nous disons que si le travail de notification réussit, quittez simplement le travail sans exécuter l'étape 3. Si nous ne le précisons pas, nous aurons 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:
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.
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.

Conseillé: