我在SQL Server 2005上保存了两个查询,希望它们能按照一定的时间间隔运行,例如每24小时。有没有办法通过SQL Server Management Studio自动化这些查询并安排计划?
我在SQL Server 2005上保存了两个查询,希望它们能按照一定的时间间隔运行,例如每24小时。有没有办法通过SQL Server Management Studio自动化这些查询并安排计划?
你需要使用作为SQL Server的一部分安装的SQL Server Agent。这是负责运行预定维护和备份任务的后台服务。
在SQL Server Management Studio中展开SQL Server Agent节点,您应该会看到一个名为“Jobs”的树节点。
右键单击此选项将给您添加新作业的选项。作业由按顺序执行的一系列步骤组成,当您向作业添加新步骤时,可以选择各种类型的步骤,包括"Transact-SQL Script"。
创建一个新作业,添加一个单独的T-SQL步骤,将您想要运行的查询放入步骤属性中,然后在作业属性中使用"Schedule"选项创建一个重复计划,以每24小时(或其他时间)运行作业。
SKapsal's comment关于执行SQL命令的命令行工具是对osql(用于SQL2000)或sqlcmd(用于SQL2005+)的参考。您可以将脚本保存为文件并使用Windows任务计划程序或类似工具从该命令行运行它。
然而,SQL Agent仍然是首选解决方案,因为它提供了GUI控件,可以创建作业、调度、日志记录和查看作业执行历史记录/结果。