循环SQL查询特定时间

时间:2014-04-16 17:41:55

标签: sql sql-server

我有一个sql查询,我需要每60秒循环一次系统视图sys.dm_exec_requestssys.dm_exec_sessions以获取特定信息并将其转储到单独的表中。在指定的时间后,我希望它杀死循环。如何格式化循环?

4 个答案:

答案 0 :(得分:1)

这听起来像是一个SQL Agent工作。如果是这样,答案的简短形式是:

  • 使用一个运行查询的步骤创建作业
  • 添加一个每分钟运行一次的计划,每当您希望它启动时启动
  • 设置计划在达到截止时间时停止运行

当然,长形式是创建SQL代理作业背后的所有细节工作。最好在联机丛书(here

中阅读

答案 1 :(得分:0)

不要在循环中执行此操作。使用job进行操作。

编写一个执行查询的sproc并保存结果,然后从作业中调用它。

答案 2 :(得分:0)

我认为你也应该找一份工作。但是一些不切实际的工作环境。所以你可以有类似的东西:

WHILE @StopTime < getdate()
BEGIN
   exec LogCurrentData

   WAITFOR DELAY '00:01:00';  -- wait 1 minute

END

答案 3 :(得分:0)

我认为最好的方法是创建作业