SQL Server的任务/计划 - 美国与英国夏令时调整(SQL Server Jobs / Sc

2019-09-16 21:59发布

SQL Server的任务/计划 - 美国与英国夏令时调整

我们有需要在16:30运行SQL代理作业总部位于英国的服务器(美国中部时间 - 这似乎有些奇怪,但因为一些数据的可用性)。 通常,这不会是一个问题,因为英国和美国之间的时间差为6小时,所以我们安排我们的工作为22:30。

但是由于英国和美国在三月和十一月不同时间夏令时调整自己的时钟,还有2周的时间,当英国和美国之间的时差为5小时。

我想实现的方式在SQL服务器能够识别时间差的这种变化,然后重新安排它的自我使用类似sp_update_schedule工作。

一种方法我已经是获得美国的服务器上当前的时间戳,然后比较,与当前英国时间。 如果时间差是5小时,然后重新安排工作至21:30,如果时差为6小时,然后重新安排工作至22:30。

但是,反正可以提出另一种解决方案,或许有这将不涉及拿到美国的服务器上的当前时间戳和理想不必存储在表夏令调整日期的列表。 更多的东西动态可能?

Answer 1:

事实上,它看起来就像你提到的两个可行的解决方案:问一个服务器上的时区或存储关键日期的列表。 党的路线,为什么下面的第一个链接。 你可以实现自己的功能(这将不得不要么存储日期列表或要求补偿的服务器)。 或者,你可以得到的时区信息公共域列表(如下面的第二个链接)。 还有一些Web服务将返回偏移。 甲骨文实现了时区数据库命名时区之间进行转换,所以如果你已经支持你能做到这一点。

还有就是你可以在CLR函数中的第三个链接包装一个C#实现。

http://blogs.msdn.com/b/sqlprogrammability/archive/2008/03/18/using-time-zone-data-in-sql-server-2008.aspx

http://www.twinsun.com/tz/tz-link.htm

http://timezone.codeplex.com/



文章来源: SQL Server Jobs / Schedules - US vs. UK Daylight Savings Adjustment