能否通过SQL Server Management Studio自动化MS SQL Server(2005)查询?

4

我在SQL Server 2005上保存了两个查询,希望它们能按照一定的时间间隔运行,例如每24小时。有没有办法通过SQL Server Management Studio自动化这些查询并安排计划?

6个回答

17

你需要使用作为SQL Server的一部分安装的SQL Server Agent。这是负责运行预定维护和备份任务的后台服务。

在SQL Server Management Studio中展开SQL Server Agent节点,您应该会看到一个名为“Jobs”的树节点。

右键单击此选项将给您添加新作业的选项。作业由按顺序执行的一系列步骤组成,当您向作业添加新步骤时,可以选择各种类型的步骤,包括"Transact-SQL Script"。

创建一个新作业,添加一个单独的T-SQL步骤,将您想要运行的查询放入步骤属性中,然后在作业属性中使用"Schedule"选项创建一个重复计划,以每24小时(或其他时间)运行作业。


1
您可以使用 SQL Server 代理,让服务器运行脚本/存储过程。
您还可以使用 Windows 任务计划程序,在服务器上或其他任何服务器或工作站上安排 isqlw/sqlcmd 执行您的脚本/存储过程。

0

0
创建一个作业,并在其中添加一个步骤,以执行您的查询;该作业可以根据您的需求进行调度。

0
在以前的雇主那里,运营部门有一个任务调度应用程序。他们更喜欢使用随 SQL Server 一起提供的命令行工具来定期执行作业(存储过程)。这样,“任务调度应用程序”可以接收退出状态(通过/失败,正常/错误)并挂起依赖作业。
很抱歉我不记得命令行工具的名称,但它是 SQL Server 发行版的一部分。我也不记得任务调度应用程序的名称。它不是 Windows 任务计划程序。它是某种企业级别的东西,用于管理夜间周期。
不确定您的项目规模如何,但这是另一种选择。

0

SKapsal's comment关于执行SQL命令的命令行工具是对osql(用于SQL2000)或sqlcmd(用于SQL2005+)的参考。您可以将脚本保存为文件并使用Windows任务计划程序或类似工具从该命令行运行它。

然而,SQL Agent仍然是首选解决方案,因为它提供了GUI控件,可以创建作业、调度、日志记录和查看作业执行历史记录/结果。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接