![]() |
1
8
这取决于你想完成什么。 是否要将已删除的存档存储在某个位置?记录更改?SQL作业应该执行得更好,因为它直接在数据库中运行,但是向数据库外部的资源提供服务访问更容易。所以这取决于你想做什么, |
![]() |
2
7
我认为计划的SQL作业是一个更安全的解决方案,因为如果将数据库迁移到新的计算机上,执行迁移的人可能会忘记涉及到Windows服务,而忘记在新服务器上启动/安装它。 |
![]() |
3
5
在过去,我们已经运行了许多SQL作业。但是,最近我们开始从.NET代码调用这些进程,将其作为从Windows计划任务运行的客户端应用程序,原因有两个:
|
![]() |
4
2
请注意,无论您如何操作,对于此任务,您都不需要服务。服务整天都在运行,并且将整天消耗服务器的一点RAM。 在这里,您有一个任务需要运行,并且每天运行一次。因此,您要么想要一个SQL Server中的作业,要么像Joel描述的那样,需要一个应用程序(控制台或WinForms),该应用程序是按计划设置的,可以执行,然后从服务器的内存空间中卸载。 |
![]() |
5
1
这是给您的/内部的,还是您分发的产品的一部分。 如果在内部,我会说SQL作业。这也是另一项服务。 如果它是您分发的产品的一部分,我将考虑如何安装和支持。 |
![]() |
6
0
为了贯彻科里的观点,如果这是外部分发的,您是否需要支持SQL Express?如果没有,我将直接使用SQL作业。否则,您将不得不获得更多的创造性,因为SQL Express没有随SQL 2005完整版本(以及MSDE)一起提供的SQL代理。如果没有SQL代理,您将需要另一种方法来自动启动作业。它可以是Windows服务、计划任务(调用.NET应用程序、PowerShell脚本、vbscript等),也可以尝试直接在SQL Server中实现某些触发器。 |