30Jun

Senden von automatisierten Job-E-Mail-Benachrichtigungen in SQL Server mit SMTP

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

Hier werden E-Mail-Benachrichtigungen angezeigt, sodass Sie jeden Morgen den Jobstatus sehen können, wenn Sie Ihren Kaffee schlürfen und so tun, als würden Sie arbeiten.

SQL Server bietet eine integrierte Methode zum Senden von E-Mails, aber leider müssen Sie Outlook und ein Profil auf dem Server installiert haben, was nicht unbedingt der ideale Weg ist, um eine E-Mail zu senden. Glücklicherweise gibt es eine andere Methode, die das Installieren einer gespeicherten Prozedur auf Ihrem Server beinhaltet, mit der Sie E-Mails über SMTP senden können.

Laden Sie die gespeicherte Prozedur sp_SQLNotify hier herunter.

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

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

Installieren Sie die gespeicherte Prozedur in der master-Datenbank, so dass sie von überall leicht verwendet werden kann.

Ö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 es sollte ein Bildschirm angezeigt werden, der wie folgt aussieht:

Klicken Sie auf die Schaltfläche Neuum einen neuen Jobschritt zu erstellen. Wir werden diesen Schritt verwenden, um die E-Mail-Benachrichtigung erfolgreich zu senden.

Schrittname: Erfolgreiche E-Mail-Benachrichtigung

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 abgeschlossenerfolgreich '

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

Schrittname: E-Mail-Benachrichtigungsfehler

SQL:

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

Jetzt geht es darumStellen Sie sicher, dass die Elemente einem bestimmten Workflow folgen. Klicken Sie zuerst auf Bearbeiten in Schritt 1, und legen Sie die Eigenschaften wie folgt fest:

Was wir sagen, ist, dass bei Erfolg zum Erfolgsschritt gehen und bei einem Fehler zum Fehlerschritt gehen. Ziemlich einfaches Zeug.

Bearbeiten Sie nun den zweiten Schritt, den "E-Mail-Benachrichtigungserfolg", 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 angeben, erhalten Sie zwei E-Mails, eine mit Erfolg und eine mit Fehler.

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

Jetzt sollten Ihre Arbeitsschritte wie folgt aussehen:

Sie sollten jetzt E-Mail-Benachrichtigungen in Ihrem Posteingang für Erfolg oder Misserfolg haben.

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.