C# SQL Server自动更新列

C# SQL Server自动更新列,c#,sql-server,C#,Sql Server,在SQL Server数据库中,我有一个包含两列的表,Status和ExpiryDate 我需要一种机制,当ExpiryDate结束时,将状态转换为过期,并希望向电子邮件地址发送邮件通知 UPDATE table SET Status = 'expired' WHERE ExpiryDate < GETDATE() 更新表 设置状态='过期' 其中ExpiryDate

在SQL Server数据库中,我有一个包含两列的表,
Status
ExpiryDate

我需要一种机制,当
ExpiryDate
结束时,将
状态
转换为
过期
,并希望向电子邮件地址发送邮件通知

UPDATE table 
SET Status = 'expired' 
WHERE ExpiryDate < GETDATE()
更新表
设置状态='过期'
其中ExpiryDate
我知道如何通过C#代码实现,但如何实现自动化

就像脚本每天执行和启动电子邮件发送过程一样? 它是触发器还是其他什么?是否有人可以帮助您获得正确的术语和有关实现的一些见解?

使用存储过程(计划为作业)更新表并发送电子邮件

要配置电子邮件选项,请转到对象资源管理器中的“管理”部分,右键单击“数据库邮件”,然后单击“配置数据库邮件”


然后利用系统存储过程发送邮件

创建执行以下操作的存储过程

UPDATE table 
SET Status = 'expired' 
WHERE ExpiryDate < GETDATE()
更新表
设置状态='过期'
其中ExpiryDate
然后,在SQL Server中的SQL Server代理节点下,创建一个按所需计划运行的作业


确保在存储过程中也使用
sp\u send\u dbmail
发送电子邮件。

SQL Server代理作业?它必须在数据库中吗?您可以编写一个作为windows任务或完整windows服务运行的控制台应用程序来执行此操作。是否有原因不能使用触发器执行此操作?