Herramienta para escribir un trabajo programado que envía un correo electrónico cada 5 minutos usando .Net core y SQL Server

Mi requisito es escribir un programa/trabajo por lotes que envíe un correo electrónico cada 5 minutos. Consultará una base de datos del servidor sql.

Mi equipo es una tienda de Microsoft, por lo que estamos expuestos a .Net Core y SQL Server.

Prefiero una solución que pueda funcionar en

  • una infraestructura en las instalaciones.
  • o un entorno basado en la nube como Azure o AWS.

En este momento, a continuación se encuentran las opciones que estoy considerando.

Una aplicación de consola .net core 1.1 que se puede ejecutar como un trabajo programado o hospedarse como un trabajo web de Azure.

Otras herramientas que se pueden utilizar para llenar la placa:

docker, mailkit, marcos de registro como serilog, nlog.

Si eres un desarrollador, ¿qué te impide escribir una pequeña aplicación para hacer esto? ¿Exactamente qué tipo de software nos pide que le recomendemos aquí?
¿Qué tiene de malo usar el Programador de tareas de Windows integrado ? ¿Simplemente codifique su aplicación para enviar correos electrónicos, luego use el planificador para ejecutarla cada cinco minutos?

Respuestas (2)

Puede utilizar Microsoft Visual Studio 2017 Community Edition de forma gratuita . Tiene soporte para .NET Core . El propio IDE no necesita compatibilidad con SQL Server. En cambio, .NET Core trae el acceso a datos de SQL Server

Además de eso, no necesitas mucho: un temporizador y un correo electrónico .

tengo dos sugerencias

Mi primera solución sería usar el Agente SQL Server para ejecutar un Procedimiento almacenado en los intervalos de tiempo requeridos. Utilice sp_send_dbmail para enviar correos electrónicos desde el procedimiento almacenado. La consulta de la base de datos se puede ejecutar dentro del procedimiento almacenado. Esto está completamente contenido en SQL Server, es posible que el DBA deba configurar el envío de correos electrónicos desde SQL Server y debo decir que no he enviado correos electrónicos desde entornos de bases de datos basados ​​en la nube.

La segunda sugerencia es usar Powershell para ejecutar la consulta de SQL Server y enviar el correo electrónico. La salida de la consulta se puede modificar en Powershell antes de enviarla, si es necesario. Ejecute esto usando el Programador de tareas .

(editar) Thomas mencionó el uso de Visual Studio. La instalación de SQL Server Data Tools en Visual Studio le brinda acceso completo a SQL Server.