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

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

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

Hier kommen E-Mail-Benachrichtigungen herein, sodass Sie den Jobstatus jeden Morgen sehen können, wenn Sie an Ihrem Kaffee nippen und so tun, als ob Sie arbeiten.

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

Laden Sie die gespeicherte sp_SQLNotify-Prozedur 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 Masterdatenbank, damit sie von jedem Ort aus problemlos verwendet werden kann.

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

Klicken Sie auf die Registerkarte Schritte, und Sie sollten einen Bildschirm sehen, der so aussieht:

Klicken Sie auf die Schaltfläche Neu, um einen neuen Auftragsschritt zu erstellen. In diesem Schritt senden wir die E-Mail-Benachrichtigung bei Erfolg.

Schrittname: E-Mail-Benachrichtigung erfolgreich

Geben Sie diese SQL wie unten gezeigt in das Befehlsfenster ein. Sie möchten die E-Mail-Adressen und den Betreff der Nachricht an Ihre Umgebung anpassen:

exec master.dbo.sp_SQLNotify "server@localserver.com", "admin@localserver.com", "Sicherungsjob erfolgreich", "Sicherungsjob erfolgreich abgeschlossen"

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

Schritt Name: E-Mail-Benachrichtigung fehlgeschlagen

SQL:

exec master.dbo.sp_SQLNotify "server@localserver.com", "admin@localserver.com", "Backup-Auftrag fehlgeschlagen", "Der Backup-Auftrag fehlgeschlagen"

Nun besteht die Idee darin, die Elemente einem bestimmten Workflow zu folgen. Klicken Sie zunächst in Schritt 1 auf Bearbeiten und stellen Sie die Eigenschaften wie folgt ein:

Was wir sagen, ist, dass beim Erfolg zum Erfolgsschritt und beim Misserfolg zum Misserfolgsschritt übergegangen wird. Ziemlich einfaches Zeug.

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

Wir sagen, dass, wenn der Benachrichtigungsjob istErfolgreich, beenden Sie den Job, ohne Schritt 3 auszuführen. Wenn Sie dies nicht angeben, erhalten Sie zwei E-Mails, eine mit Erfolg und eine mit Misserfolg.

Bearbeiten Sie nun den dritten Schritt, den mit "Email notification failure" (Fehler bei E-Mail-Benachrichtigung), und legen Sie die Eigenschaften wie folgt fest:

Nun sollten Ihre Arbeitsschritte so aussehen:

Sie sollten jetzt E-Mail-Benachrichtigungen in Ihrem Posteingang haben, die über Erfolg oder Misserfolg informieren.

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 sp_SQLNotify-Prozedur hier herunter.