我在SQL Server 2005上保存了两个查询,我想让它们以一定的时间间隔运行,例如:每24小时一次。有没有办法自动化这些查询并通过SQL Server Management Studio安排它们?
答案 0 :(得分:17)
您需要使用作为SQL Server的一部分安装的SQL Server代理。这是后台服务,负责运行计划的维护和备份任务。
在SQL Server Management Studio中展开SQL Server代理节点,您应该看到一个名为“作业”的树节点
右键单击此按钮可以选择添加新作业。作业包含一系列按顺序执行的步骤,当您向作业添加新步骤时,您可以选择各种类型的步骤,包括“Transact-SQL脚本”
创建新作业,添加单个T-SQL步骤,将要运行的查询放入步骤属性,然后使用“作业”属性中的“计划”选项创建将运行的定期计划每24小时(或每当)工作。
答案 1 :(得分:1)
您可以使用SQL Server代理,它将允许服务器运行脚本/存储过程。
您还可以在服务器或任何其他服务器或工作站上使用Windows任务计划程序来安排isqlw / sqlcmd来执行脚本/存储过程。
答案 2 :(得分:0)
创建一个包含执行查询的步骤的作业;可以根据您的需要安排工作。
答案 3 :(得分:0)
在以前的雇主处,运营部门有一个任务调度应用程序。他们更喜欢使用sql server附带的命令行工具来按计划执行作业(存储过程)。这样,“任务调度应用程序”可以接收退出状态(通过/失败,确定/错误)并保留从属作业。
对不起,我不记得命令行工具的名称,但它是sql server发行版的一部分。我也不记得任务调度应用程序的名称。它不是Windows任务调度程序。这是企业级用于管理夜间循环的东西。
不确定项目的规模,但这是另一种方法。
答案 4 :(得分:0)
SKapsal's comment是对osql(对于SQL2000)或sqlcmd(对于SQL2005 +)的引用。您可以使用Windows任务计划程序或类似的东西将脚本保存为文件并从该命令行运行它。
然而,SQL Agent仍然是首选解决方案,因为它为作业创建,调度,记录和查看作业执行历史记录/结果提供了GUI控件。
答案 5 :(得分:0)