SQL e-mail aus der MS Management Console

Über den kostenpflichtigen MS-SQL Server (Standardedition) können automatisiert e-mails mit Informationen aus einer Datenbank versendet werden. In diesem Beispiel werden die täglichen Fakturadaten an die Geschäftsführung versendet.



Die Einrichtung erfolgt über die SQL Management Console SSMS

Hier wird ein neues öffentliches Profil angelegt


Dieses Protokoll öffentlich aktivieren und im nächsten Dialog die Zugangsdaten des Mailkontos einrichten.

Bei den E-Mail Einstellungen die Portnummern verifizieren. Strato z.B. nutzt für SSL auch den Port 587

Damit ist die Profileinrichtung abgeschlossen. Über diese Profil können jetzt SQL Abfragen versendet werden. Die Syntax zu den Abfragen finden sie hier:
https://docs.microsoft.com/de-de/sql/relational-databases/system-stored-procedures/sp-send-dbmail-transact-sql?view=sql-server-ver15

Die Beispielabfrage:

EXEC msdb.dbo.sp_send_dbmail
@profile_name = ‚DB_BNWINS_RNO‘,
@recipients = ‚rno@musterfirma.de‘,
@query = ‚USE BNWINS
SELECT sum(ustbasis) AS FakturierungHeute
FROM rechnung where datepart(dd,erstdat) = datepart(dd, getdate()) And datepart(mm,erstdat) = datepart(mm, getdate()) And datepart(YYyy, erstdat) = datepart(yyyy, getdate())
SELECT sum(ustbasis) AS FakturierungMONAT
FROM Rechnung where datepart(mm,erstdat) = datepart(mm, getdate()) And datepart(yyyy, erstdat) = datepart(yyyy, getdate())‘ ,
@subject = ‚Faktura-Auswertung‘,
@body = ‚Fakturasummen:‘,
@body_format = ‚TEXT‘,
@attach_query_result_as_file = 0;

Das Ergebnis ist im ersten Screenshot zu sehen. Um diese  Abfrage als e-mail täglich automatisiert zu verwenden  muss jetzt im SSMS SQL Server Agent ein neuer Auftrag angelegt werden.