Suchen...
Generic filters
Exact matches only
Search in title
Search in excerpt
Search in content

Datenbank-E-Mail in SQL Server 2005 / 2008

Jede Business-Intelligence-Lösung, wie DeltaMaster, ist für die Analyse und das analytische Berichts-wesen auf möglichst aktuelle Daten (Vortag) angewiesen. Wie aus vielen BI-Lösungen bekannt ist, erfolgt die Datenbereitstellung automatisiert und meist über Nacht. Jede Automatisierung benötigt aber auch eine Überwachung. Bei der Feststellung des erfolgreichen Importprozesses der Daten des Vorsystems in eine SQL Server-Datenbank kann die eigene SQL Server-Lösung „Datenbank-E-Mail“ helfen.


Sie kann zum Senden von E-Mail-Nachrichten mit SQL Server Database Engine (Datenbankmodul) verwendet werden. Mit Datenbank-E-Mail können Datenbankanwendungen E-Mail-Nachrichten an Benutzer senden. Diese Nachrichten können beispielsweise Abfrageergebnisse enthalten oder den Administrator über das erfolgreiche Ende eines Jobs informieren.

Besonderheiten

Es ist keine weitere E-Mail-Applikation, etwa Microsoft Outlook oder erweitertes MAPI notwendig. Datenbank-E-Mail verwendet zum Senden von E-Mails das standardmäßige SMTP (Simple Mail Transfer Protocol). Aus diesem Grund muss auf einem Computer mit SQL Server kein E-Mail Client installiert sein.

Des Weiteren wird die Komponente zur Übermittlung von E-Mails in einem separaten Prozess, außerhalb von SQL Server, ausgeführt. Somit landen die E-Mail-Nachrichten in der Warteschlange und werden dann versendet, sobald der externe Prozess oder der SMTP-Server online geschaltet werden. (Prozessisolierung)

Datenbank-E-Mail unterstützt die Anlage mehrerer Profile. Dies hat den Vorteil, dass man mehrere SMTP-Server angeben kann. Falls ein SMTP-Server nicht verfügbar ist, können die E-Mail-Nachrichten an einen anderen SMTP-Server übermittelt werden. (Failoverkonten)
Auch wird Datenbank-E-Mail in 64-Bit-Versionen von SQL Server vollständig unterstützt.

Konfigurieren von Datenbank-E-Mail

Es gibt zwar in SQL Server Management Studio unter „Verwaltung – Datenbank-E-Mail“ einen Assistenten, der bei der Erstellung helfen kann, jedoch wird in dieser Ausgabe eine gespeicherte Prozedur (SP) vorgestellt, die beinahe alle Erstellungs- und Konfigurationsarbeiten übernimmt. Unseren Kunden stellen wir bei Interesse, die gespeicherte Prozedur zur Verfügung. Die Kunden, die bereits unseren DeltaMaster Modeler im Einsatz haben, finden unter den gespeicherten Prozeduren die folgende Prozedur „P_BC_Initialize_SQLMail“.

Im Kontextmenü (Rechtsklick) wird die SP bearbeitet und mit entsprechendem Kontonamen, E-Mail-Adresse, SMTP-Server und Port belegt. Danach wird die gespeicherte Prozedur ausgeführt. Im Folgenden wird der Inhalt der SP präsentiert:

Bei der Ausführung der gespeicherten Prozedur werden ein Konto und ein Profil angelegt. Es muss lediglich das richtige Passwort für das SMTP-Konto eingegeben werden. Passwörter können nicht über gespeicherte Prozeduren erstellt werden.

Konten für Datenbank-E-Mail enthalten Informationen für E-Mail-Server.

Profile für Datenbank-E-Mail sind Gruppen von Konten. Wenn ein E-Mail-Server nicht reagiert, kann die Datenbank-E-Mail E-Mails automatisch an einen anderen E-Mail-Server senden.

Nachdem das Passwort für die SMTP-Authentifizierung eingegeben wurde, kann der E-Mail-Versand wie folgt getestet werden:

Die beiden grün hinterlegten Zeilen (deaktiviert) können je nach Anforderung aktiviert werden. Hiermit kann das Ergebnis des täglichen Transforms als Dateianhang versendet werden.

Das Senden von E-Mails kann je nach Wunsch entweder im Erfolgsfall oder bei Importfehlern erfolgen. So kann etwa in einem SQL Server Agent Job ein neuer Schritt erstellt werden, der im Fehlerfall das obige Skript mit einem entsprechenden Betreff und Mailinhalt ausführt und die Nachricht an alle Empfänger, die für die Variable „@recipients“ hinterlegt sind, verschickt.