Meine Anforderung ist, ein Batch-Programm/Job zu schreiben, das alle 5 Minuten eine E-Mail sendet. Es wird eine SQL-Server-Datenbank abgefragt.
Mein Team ist ein Microsoft-Shop, daher sind wir .Net Core und SQL Server ausgesetzt.
Ich bevorzuge eine Lösung, die funktionieren kann
Zu diesem Zeitpunkt sind unten die Optionen, die ich in Betracht ziehe.
Eine .net Core 1.1-Konsolenanwendung, die als geplanter Job ausgeführt oder als Azure-Webjob gehostet werden kann.
Andere Werkzeuge, die zum Füllen der Platte verwendet werden können:
Docker, Mailkit, Protokollierungsframeworks wie serilog, nlog.
Sie können die kostenlose Microsoft Visual Studio 2017 Community Edition verwenden . Es bietet .NET Core-Unterstützung . SQL Server-Unterstützung wird von der IDE selbst nicht benötigt. Stattdessen bringt .NET Core den SQL Server-Datenzugriff
Außerdem braucht man nicht viel: einen Timer und eine E-Mail .
Ich habe zwei Vorschläge
Meine erste Lösung wäre, den SQL Server-Agent zu verwenden , um eine gespeicherte Prozedur in den erforderlichen Zeitintervallen auszuführen. Verwenden Sie sp_send_dbmail, um E-Mails aus der gespeicherten Prozedur heraus zu senden. Die Datenbankabfrage kann innerhalb der gespeicherten Prozedur ausgeführt werden. Dies ist vollständig in SQL Server enthalten, der DBA muss möglicherweise das Senden von E-Mails von SQL Server konfigurieren, und ich sollte sagen, dass ich keine E-Mails von Cloud-basierten Datenbankumgebungen gesendet habe.
Der zweite Vorschlag ist, Powershell zu verwenden, um die SQL Server-Abfrage auszuführen und die E-Mail zu senden. Die Abfrageausgabe kann bei Bedarf vor dem Senden in Powershell massiert werden. Führen Sie dies mit dem Taskplaner aus .
(Bearbeiten) Thomas erwähnte die Verwendung von Visual Studio. Durch die Installation von SQL Server Data Tools in Visual Studio erhalten Sie vollen Zugriff auf SQL Server.
Basil Bourque
Mawg sagt, Monica wieder einzusetzen