我有一个归档过程,基本上在一定天数后删除归档记录.编写预定的SQL作业或Windows服务来完成删除是否更好?数据库是mssql2005.
要谈到下面的一些答案,这个问题是关于内部应用而不是分布式产品.
这取决于你想要完成什么.您想将删除的档案存储在某个地方吗?记录更改?SQL作业应该更好地执行,因为它直接在数据库中运行,但是更容易为数据库外部的资源提供服务访问.所以这取决于你想做什么,,,
我认为预定的SQL作业将是一个更安全的解决方案,因为如果数据库迁移到新机器,执行迁移的人可能会忘记涉及到Windows服务并忘记在新服务器上启动/安装它.
在过去,我们已经运行了许多SQL作业.然而,最近,我们一直在将.Net代码中的这些进程称为从Windows计划任务运行的客户端应用程序,原因有两个:
实现像这样记录的功能更容易.
我们有其他批处理作业不在数据库中运行,因此必须在Windows计划任务中.这样,任何类型的所有批处理作业都将列在一个位置.