我在我的 SQL Server 2005 上保存了两个查询,我希望它们以特定的时间间隔运行,例如每 24 小时运行一次。有没有办法通过 SQL Server Management Studio 自动执行这些查询并安排它们?
6 回答
您需要使用作为 SQL Server 的一部分安装的 SQL Server 代理。这是负责运行计划维护和备份任务的后台服务。
在 SQL Server Management Studio 中展开 SQL Server Agent 节点,您应该会看到一个名为“Jobs”的树节点
右键单击它将为您提供添加新作业的选项。作业由一系列要按顺序执行的步骤组成,当您在作业中添加新步骤时,您可以选择各种类型的步骤,包括“Transact-SQL 脚本”
创建一个新作业,添加一个 T-SQL 步骤,将要运行的查询放入步骤属性中,然后使用作业属性中的“计划”选项创建一个定期计划,该计划将在每个24 小时(或任何时候)。
您可以使用 SQL Server 代理,这将允许服务器运行脚本/存储过程。
您还可以在服务器或任何其他服务器或工作站上使用 Windows 任务计划程序来计划 isqlw/sqlcmd 以执行您的脚本/存储过程。
在以前的雇主处,运营部门有一个任务调度应用程序。他们更喜欢使用 sql server 附带的命令行工具来按计划执行作业(存储过程)。这样,“任务调度应用程序”可以接收退出状态(通过/失败、正常/错误)并暂停相关作业。
对不起,我不记得命令行工具的名称,但它是 sql server 发行版的一部分。我也不记得任务调度应用程序的名称。它不是 Windows 任务调度程序。这是企业级用来管理夜间周期的东西。
不确定您的项目的规模,但这是另一种方法。
创建一个包含执行查询的步骤的作业;可以根据您的需要安排工作。