16

我正在寻找一种方法来定期(例如每周)在数据库中运行一些 SQL 语句以删除旧数据。据我所知,有(至少)两种方法可以做到这一点:

  • 使用“维护计划”和“执行 T-SQL 语句任务”
  • 使用“SQL Server 代理作业”并在该作业的“步骤”中指定语句

我的问题是:这两种可能性之间有什么区别,我应该使用哪一种来完成我的任务?

4

1 回答 1

19

这不是一个非此即彼的选择。有一些重叠。

将维护计划视为对数据库“做某事”的一系列步骤;这些步骤被封装到需要安排运行的计划中。

SQL Server 代理是定期运行作业的服务;作业是计划运行的任何东西。维护计划是一项工作。

当您计划运行维护计划时,您实际上是在创建一个作业(或多个作业;感谢 DJ),以便 SQL Server 代理定期运行。

现在,关于选择哪种方式最好(通过维护计划向导或直接通过代理),我想说对于大多数数据库来说,维护计划向导就足够了。您可能希望向维护计划创建的作业添加其他步骤,但这取决于您的环境。

那有意义吗?

于 2009-10-05T18:18:22.147 回答