Tool zum Schreiben eines geplanten Jobs, der alle 5 Minuten eine E-Mail mit .Net Core und SQL Server sendet

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

  • eine On-Premise-Infrastruktur.
  • oder eine Cloud-basierte Umgebung wie Azure oder AWS.

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.

Wenn Sie ein Entwickler sind, was hindert Sie daran, eine kleine App zu schreiben, um dies zu tun? Welche Art von Software möchten Sie uns hier genau empfehlen?
Was ist falsch daran, den integrierten Windows- Taskplaner zu verwenden ? Programmieren Sie einfach Ihre App, um E-Mails zu senden, und verwenden Sie dann den Scheuler, um sie alle fünf Minuten auszuführen?

Antworten (2)

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.