我正在寻找一种方法来定期(例如每周)在数据库中运行一些 SQL 语句以删除旧数据。据我所知,有(至少)两种方法可以做到这一点:
- 使用“维护计划”和“执行 T-SQL 语句任务”
- 使用“SQL Server 代理作业”并在该作业的“步骤”中指定语句
我的问题是:这两种可能性之间有什么区别,我应该使用哪一种来完成我的任务?
我正在寻找一种方法来定期(例如每周)在数据库中运行一些 SQL 语句以删除旧数据。据我所知,有(至少)两种方法可以做到这一点:
我的问题是:这两种可能性之间有什么区别,我应该使用哪一种来完成我的任务?
这不是一个非此即彼的选择。有一些重叠。
将维护计划视为对数据库“做某事”的一系列步骤;这些步骤被封装到需要安排运行的计划中。
SQL Server 代理是定期运行作业的服务;作业是计划运行的任何东西。维护计划是一项工作。
当您计划运行维护计划时,您实际上是在创建一个作业(或多个作业;感谢 DJ),以便 SQL Server 代理定期运行。
现在,关于选择哪种方式最好(通过维护计划向导或直接通过代理),我想说对于大多数数据库来说,维护计划向导就足够了。您可能希望向维护计划创建的作业添加其他步骤,但这取决于您的环境。
那有意义吗?