Het verzenden van Geautomatiseerde Job Email Notifications in SQL Server met SMTP

Video: Het verzenden van Geautomatiseerde Job Email Notifications in SQL Server met SMTP

Video: Het verzenden van Geautomatiseerde Job Email Notifications in SQL Server met SMTP
Video: Ubuntu 20.04 Remote Desktop Access from Windows 10 with xRDP 2024, Maart
Het verzenden van Geautomatiseerde Job Email Notifications in SQL Server met SMTP
Het verzenden van Geautomatiseerde Job Email Notifications in SQL Server met SMTP
Anonim

Wanneer u geautomatiseerde back-uptaken op uw databaseserver uitvoert, vergeet u soms dat ze zelfs actief zijn. Dan vergeet je om te controleren om te zien of ze met succes worden uitgevoerd, en realiseer je je pas wanneer je database crasht en je deze niet kunt herstellen omdat je geen huidige back-up hebt.

Dat is waar e-mailmeldingen binnenkomen, zodat je de taakstatus elke ochtend kunt zien wanneer je aan je koffie nipt en doet alsof je aan het werk bent.

SQL Server biedt een ingebouwde methode voor het verzenden van e-mails, maar het vereist helaas dat u Outlook en een profiel op de server hebt geïnstalleerd, wat niet per se de ideale manier is om een e-mail te verzenden. Gelukkig is er nog een andere methode, namelijk het installeren van een opgeslagen procedure op uw server waarmee u e-mail kunt verzenden via SMTP.

Download de opgeslagen procedure sp_SQLNotify hier.

U wilt één regel in de opgeslagen procedure bewerken om het IP-adres van uw SMTP-server te plaatsen:

EXEC @hr = sp_OASetProperty @iMsg, ‘Configuration.fields(“https://schemas.microsoft.com/cdo/configuration/smtpserver”).Value’, ‘10.1.1.10’

Installeer de opgeslagen procedure in de hoofddatabase, zodat deze gemakkelijk kan worden gebruikt waar nodig.

Open de lijst SQL Server Agent Jobs en selecteer de eigenschappen voor de taak waarvoor u een melding wilt maken:

Klik op het tabblad Stappen en je zou een scherm moeten zien dat er als volgt uitziet:
Klik op het tabblad Stappen en je zou een scherm moeten zien dat er als volgt uitziet:

Klik op de knop Nieuw om een nieuwe taakstap te maken. We zullen deze stap gebruiken om de e-mailmelding over succes te verzenden.

Stappennaam: succes e-mailmeldingen

Voer deze SQL in het Command-venster in zoals hieronder te zien is. U wilt de e-mailadressen en het onderwerp van het bericht aanpassen aan uw omgeving:

exec master.dbo.sp_SQLNotify ‘[email protected]’,’[email protected]’,’Backup Job Success’,’The Backup Job completed successfully’

Klik op OK en klik nogmaals op de knop Nieuw om nog een stap te maken. Dit is de stap voor het melden van storingen.

Stappnaam: Kennisgeving e-mailmeldingen

SQL:

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

Nu is het de bedoeling dat de items een specifieke workflow volgen. Klik eerst op Bewerken in stap 1 en stel de eigenschappen in zoals hier getoond:

Wat we zeggen is dat bij succes, ga naar de stap van het succes, en bij het falen, ga naar de mislukking stap. Vrij simpele dingen.

Bewerk nu de tweede stap, de 'E-mailnotificatie geslaagd' en stel de eigenschappen in zoals hier te zien:

We zeggen dat als de meldingsopdracht is gelukt, u de taak gewoon kunt afsluiten zonder stap 3 uit te voeren. Als we dit niet opgeven, krijgen we uiteindelijk twee e-mails, een met succes en een met een fout.
We zeggen dat als de meldingsopdracht is gelukt, u de taak gewoon kunt afsluiten zonder stap 3 uit te voeren. Als we dit niet opgeven, krijgen we uiteindelijk twee e-mails, een met succes en een met een fout.

Bewerk nu de derde stap, de "E-mailkennisgevingsfout", en stel de eigenschappen in zoals hier te zien:

Nu moeten je jobstappen er als volgt uitzien:
Nu moeten je jobstappen er als volgt uitzien:
Je zou nu e-mailmeldingen in je inbox moeten hebben voor zowel succes als mislukking.
Je zou nu e-mailmeldingen in je inbox moeten hebben voor zowel succes als mislukking.

Opmerking: de opgeslagen procedure die in dit artikel wordt gebruikt, is hier gevonden, hoewel dat misschien niet de oorspronkelijke bron is.

Download de opgeslagen procedure sp_SQLNotify hier.

Aanbevolen: