【问题标题】:Scheduling using SQL Server Service Broker to call a stored procedure after specific time period使用 SQL Server Service Broker 调度在特定时间段后调用存储过程
【发布时间】:2016-06-28 13:50:16
【问题描述】:

我有一个表格,每次员工进出时都会在其中插入数据。插入数据时,将更新另一个表。目前,我正在使用一个存储过程来执行此操作,该存储过程通过计划的 SQL Server 代理作业每分钟运行一次。

它工作正常,但在非高峰时间特别是没有必要每分钟运行一次。

有没有办法让存储过程只在数据插入表时每分钟运行一次?触发器可能不起作用,因为我不希望存储过程在插入后立即运行,而是在指定的时间间隔(例如一分钟左右)后运行,这样我就可以一次更新多个打孔。

【问题讨论】:

    标签: sql-server service-broker


    【解决方案1】:

    您只想跟踪上次扫描,并且只在有工作要做时才运行您的例程。轮询一分钟即可。您唯一需要做的就是保存上次扫描日期并与打卡/打卡时间进行比较。但是,请注意,您的逻辑必须能够处理错误的上次扫描日期,例如它被意外更改为一年前。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-08
      • 2014-11-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多