我们使用Elastic Jobs来运行隔夜内务脚本。这些脚本需要在夜间的特定时间运行。
这就是这个讨厌的东西所谓的日光节约,夏令时或任何它的所谓在你的世界的一部分抛出一个小扳手的作品。
要将作业配置为在特定时间启动,请运行
EXEC jobs.sp_update_job <etcera>, @schedule_start_time=<datetime in UTC>
问题是,这只会在一年中的一部分时间里起作用。例如,在爱尔兰,我们目前在BST,即。UTC+1,所以如果我想在每天早上06:00运行这个作业,我们必须调用上面的命令,并将@schedule_start_time参数设置为05:00
这意味着,如果我们希望在全年的06:00运行此作业,则需要在时钟更改时运行sp_update_job语句。这不是什么大不了的事,但在谚语中的痛苦都是一样的。
所以我的问题是
是否有一种方法可以使用@schedule_start_time参数调用sp_update_job,该参数被解释为本地时间,以便在夏令时开始或结束时自动调整?
1条答案
按热度按时间dy2hfwbg1#
不幸的是,Elastic Job使用UTC时区进行调度,并且不会自动调整夏令时。因此,正如您已经提到的,当时钟改变时,您需要手动更新sp_update_job过程的@schedule_start_time参数。
但是,您有一个名为Azure Automation的替代Azure服务,它支持时区,并根据日程的时区调整为夏令时。在这里你会发现更多细节。