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

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

    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 u de taakstatus elke ochtend kunt zien wanneer u aan uw koffie nipt en doet alsof u werkt.

    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 ("http://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 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', 'De back-uptaak ​​met succes voltooid'

    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]', 'Back-uptaakfout', de back-uptaak ​​is mislukt '

    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.

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

    Nu moeten je taakstappen er als volgt uitzien:

    U zou nu e-mailmeldingen in uw 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.