Startseite » wie man » Senden automatisierter Job-E-Mail-Benachrichtigungen in SQL Server mit SMTP

    Senden automatisierter Job-E-Mail-Benachrichtigungen in SQL Server mit SMTP

    Wenn auf Ihrem Datenbankserver automatisierte Sicherungsjobs ausgeführt werden, vergessen Sie manchmal, dass sie überhaupt ausgeführt werden. Dann vergessen Sie zu prüfen, ob sie erfolgreich ausgeführt werden, und stellen Sie erst fest, wenn Ihre Datenbank abstürzt und Sie sie nicht wiederherstellen können, da Sie keine aktuelle Sicherung haben.

    Hier kommen E-Mail-Benachrichtigungen zum Einsatz, sodass Sie jeden Morgen den Jobstatus sehen können, wenn Sie Ihren Kaffee trinken und so tun, als würden Sie arbeiten.

    SQL Server bietet eine integrierte Methode zum Senden von E-Mails. Leider müssen Sie jedoch Outlook und ein Profil auf dem Server installiert haben. Dies ist jedoch nicht unbedingt der ideale Weg, um eine E-Mail zu senden. Glücklicherweise gibt es eine andere Methode, bei der auf Ihrem Server eine gespeicherte Prozedur installiert wird, mit der Sie E-Mails über SMTP senden können.

    Laden Sie die gespeicherte Prozedur sp_SQLNotify hier herunter.

    Sie möchten eine Zeile in der gespeicherten Prozedur bearbeiten, um die IP-Adresse Ihres SMTP-Servers einzugeben:

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

    Installieren Sie die gespeicherte Prozedur in der Master-Datenbank, sodass Sie sie von überall aus problemlos verwenden können.

    Öffnen Sie die Liste SQL Server-Agent \ Jobs und wählen Sie die Eigenschaften für den Job aus, für den Sie eine Benachrichtigung erstellen möchten:

    Klicken Sie auf die Registerkarte "Schritte" und Sie sollten einen Bildschirm sehen, der folgendermaßen aussieht:

    Klicken Sie auf die Schaltfläche Neu, um einen neuen Auftragsschritt zu erstellen. Wir werden diesen Schritt verwenden, um die E-Mail-Benachrichtigung über den Erfolg zu senden.

    Schrittname: E-Mail-Benachrichtigung erfolgreich

    Geben Sie diese SQL in das Befehlsfenster ein (siehe unten). Sie müssen die E-Mail-Adressen und den Betreff der Nachricht an Ihre Umgebung anpassen:

    exec master.dbo.sp_SQLNotify '[email protected]', '[email protected]', 'Erfolg des Sicherungsjobs', 'Der Sicherungsjob wurde erfolgreich abgeschlossen'

    Klicken Sie auf OK und dann erneut auf die Schaltfläche Neu, um einen weiteren Schritt zu erstellen. Dies wird der Fehlerbenachrichtigungsschritt sein.

    Schrittname: Fehler bei der E-Mail-Benachrichtigung

    SQL:

    exec master.dbo.sp_SQLNotify '[email protected]', '[email protected]', 'Sicherungsauftrag fehlgeschlagen,' Sicherungsauftrag fehlgeschlagen '

    Nun sollen die Elemente einem bestimmten Workflow folgen. Klicken Sie zunächst in Schritt 1 auf Bearbeiten, und legen Sie die Eigenschaften wie folgt fest:

    Was wir sagen, ist, dass beim Erfolg der Schritt für den Erfolg und beim Scheitern der Schritt für den Ausfall ausgeführt wird. Ziemlich einfaches Zeug.

    Bearbeiten Sie nun den zweiten Schritt, den als "E-Mail-Benachrichtigung erfolgreich" bezeichneten, und legen Sie die Eigenschaften wie folgt fest:

    Wenn der Benachrichtigungsjob erfolgreich ist, beenden Sie einfach den Job, ohne Schritt 3 auszuführen. Wenn Sie dies nicht angeben, erhalten wir am Ende zwei E-Mails, eine mit Erfolg und eine mit Fehler.

    Bearbeiten Sie nun den dritten Schritt, den mit "E-Mail-Benachrichtigungsfehler" gekennzeichneten Schritt, und legen Sie die Eigenschaften wie folgt fest:

    Nun sollten Ihre Arbeitsschritte so aussehen:

    Sie sollten jetzt E-Mail-Benachrichtigungen in Ihrem Posteingang haben, um Erfolg oder Misserfolg zu erhalten.

    Hinweis: Die in diesem Artikel verwendete gespeicherte Prozedur wurde hier gefunden, obwohl dies möglicherweise nicht die ursprüngliche Quelle ist.

    Laden Sie die gespeicherte Prozedur sp_SQLNotify hier herunter.