我正在开发一个使用SQL Server作为数据库后端的.NET桌面应用程序。该应用程序的要求之一是,如果记录状态(例如,在30天内保持不活动状态),则会向与该记录关联的用户发送提醒电子邮件。
只要它已经启动并运行,就可以在应用程序中轻松完成。但是,假设在一段时间内,没有人启动应用程序,将不会发送提醒电子邮件,因为没有/ nodody会触发该操作。
如何在SQL Server中创建可以监视记录并根据需要发送电子邮件的作业?有没有人这样做过?
非常感谢!
答案 0 :(得分:2)
鉴于您的任务要求,我建议您创建一个控制台程序(w / C#或VB.NET),检查非活动(30天)行条件,然后生成相应的电子邮件通知消息。然后每小时左右运行一次该程序(取决于检测非活动行条件的紧急程度),使用SQL Server代理作业。
下图显示了SQL Server代理作业如何在SQL Server 2008 R2的对象资源管理器中显示。
这个SO entry涵盖了创建在特定时间运行的控制台程序的一些方面。 SQL Server作业代理有几个可以满足您需求的计划选项。
您可能不愿意为此创建一个控制台程序,但您很容易发现这样做会为您提供使用基于纯SQL Server的方法无法轻松实现的选项。此外,您可能有将来需要与此方法相似的处理。