Anleitung Einrichten Datenbankmail
Übersicht
Datenbank-Mail konfigurieren
Versenden einer Test-E-Mail
Senden einer E-Mail-Benachrichtigung, wenn ein SQL-Auftrag fehlschlägt
Mail-Profil einschalten
Erstellen eines Operators
e-Mail-Konfiguration für den Auftrag
Für benutzerdefinierten E-Mail-Text und Betreff
Übersicht
Dies verwenden wir auf Auftragsebene, indem wir dies implementieren, können wir die E-Mail-Benachrichtigungen erhalten, wenn eventuell der Auftrag fehlgeschlagen ist.
Datenbank-Mail konfigurieren
Am besten verwenden Sie dazu den Assistenten für die Datenbank-Mailkonfiguration.
Öffnen Sie SSMS, erweitern Sie Management und klicken Sie mit der rechten Maustaste auf Database Mail -> Klicken Sie dann auf "Configure Database Mail".
Datenbank-Mail einrichten:
Geben Sie dem Profil einen Namen und fügen Sie dann ein SMTP-Konto hinzu.
Klicken Sie auf die Schaltfläche "Hinzufügen"--> Bitte geben Sie den entsprechenden Kontonamen, die E-Mail-Adresse, den Anzeigenamen und den Servernamen ein. Die Portnummer ist in den meisten Fällen 25
Versenden einer Test-E-Mail
Wenn die oben genannten Punkte erfüllt sind, erhalten Sie eine E-Mail.
Senden einer E-Mail-Benachrichtigung bei fehlgeschlagenem SQL-Auftrag
Mail-Profil einschalten
Klicken Sie mit der rechten Maustaste auf SQL Server Agent, wählen Sie Eigenschaften und klicken Sie auf Alarmsystem.
- Aktivieren Sie das Kontrollkästchen "Mailprofil aktivieren".
- Wählen Sie das Mailsystem "Database Mail" aus der Dropdown-Liste.
- Wählen Sie den Namen des Datenbank-Mailprofils.
- Aktivieren Sie das Kontrollkästchen "Text der E-Mail in die Benachrichtigung aufnehmen" und klicken Sie auf OK.
Erstellen eines Operators
Erstellen Sie nun einen Operator. Ein Operator ist derjenige, an den Sie eine E-Mail-Benachrichtigung senden möchten. Erweitern Sie den Knoten SQL Server Agent, klicken Sie mit der rechten Maustaste auf Operator und dann auf neuer Operator. Geben Sie den Namen des Operators ein. Geben Sie den E-Mail-Namen ein (wenn Sie eine E-Mail an mehrere Personen senden möchten, können Sie ";" als Trennzeichen verwenden)
e-Mail-Konfiguration für den Auftrag
Erstellen Sie nun einen Testauftrag, um die E-Mail an den Bediener zu senden, wenn der Auftrag fehlgeschlagen ist. Klicken Sie mit der rechten Maustaste auf den Knoten Aufträge und wählen Sie neuer Auftrag. Geben Sie den Namen ein und klicken Sie auf Schritte.
Wenn der Auftrag ausgeführt wird oder fehlschlägt, wird nun automatische eine Nachricht an die Empfänger verschickt.
Diese Abfragen können Ihnen helfen, sich über die E-Mail-Überprüfung zu informieren:
select * from msdb.dbo.sysmail_account
select * from msdb.dbo.sysmail_sentitems
Für benutzerdefinierte E-Mail-Text & Betreff
Erstellen Sie den zweiten/nächsten Schritt wie folgt für die Aufträge, für die wir eine E-Mail-Benachrichtigung benötigen
Nachfolgend finden Sie die Schritte für den angepassten E-Mail-Text und -Betreff.
Die E-Mail wird also nur ausgelöst, wenn der Auftrag fehlgeschlagen ist.
Code
DECLARE @SubjectVal NVARCHAR(1000);
DECLARE @BodyVal NVARCHAR(300);
DECLARE @JobName NVARCHAR(128);
select @JobName = name from msdb.dbo.sysjobs where job_id = $(ESCAPE_SQUOTE(JOBID));
Set @SubjectVal = 'Der SQL Server Job [' + @JobName +'] auf Server ['+ HOST_NAME() + '] ist am ' + CONVERT(varchar, getdate(), 104) fehlgeschlagen;
Set @BodyVal = 'Job Name: ' + @JobName + '.' + CHAR(13)+CHAR(10) + 'Auftragsstatus: Failed ' + CHAR(13)+CHAR(10) + 'Aufgerufen von: '+ SUSER_NAME() + CHAR(13)+CHAR(10) + '.';
EXEC msdb.dbo.sp_send_dbmail
@profile_name = 'DBA e-Mail-Benachrichtigung von Lachen SR103-054',
@Empfänger = 'Venkat.Thogati@nexus-schweiz.ch;CHZH_MIS_Support@nexus-schweiz.ch',
@body = @BodyVal,
@Subjekt = @SubjektVal
GO