top*_*wik 6 sql-server sql-server-agent
有时,我发现 sysjobschedules.next_run_date 和 time 字段中的 sql server 代理值存在一些不一致。
我有一个与 sql 调度系统交互的 Web 界面。
我创建了一个测试作业,该作业于 2011 年 3 月 16 日上午 9:45 开始。我已将其设置为每 4 周在星期三发生一次。
从今天开始,这应该将下一次运行日期和时间放在 1 月 18 日 9:45,但我工作的下一次运行日期/时间值是 1 月 4 日。
作业属性中的值看起来不错。
开始日期是 2011
年3 月 16 日。频率值都是正确的。
但似乎 SQL 未能正确地发生这种情况。
以下是 sp_help_jobschedule proc 中有关作业的一些相关信息
freq_type 8
freq_interval的 8
的freq_subday_type 1
freq_subday_interval 1
freq_relative_interval 0
freq_recurrence_factor 4
active_start_date的 20110316
active_end_date的99991231
active_start_time 154500
active_end_time 55959
DATE_CREATED 2011-12-29 20:37:05.737
schedule_description 周三每4周(或多个)在154500
next_run_date 20120104
next_run_time 154500
如果开始日期是 2011 年 3 月 16 日 9:45,则根据作业的属性,下一次运行日期将落在 2012 年 1 月 4 日是没有意义的。
我想我的问题是,我可以在多大程度上依赖此 Next Run Date 数据?
根据 2011 年 3 月 16 日的有效开始日期,2012 年 1 月,我们预计计划发生时间为 1 月 18 日星期三。
如果该计划的修改日期大于活动开始日期,SQL 似乎会使用修改日期作为起点,确定下周三开始 4 周序列。
如果更新发生在 1 月 10 日星期二,则下一个运行日期将变为 1 月 11 日星期三,并且从该日期起 4 周后的每个星期三,现在相对于 1 月 11 日,现在从原始序列中省略 1 月 18 日。
在计算下一个运行日期时,活动开始日期似乎不再与 SQL Server 相关。
它只会选择未来的第二天,从修改日期开始,与请求的工作日相匹配;在这种情况下是下周三。
| 归档时间: |
|
| 查看次数: |
11391 次 |
| 最近记录: |