SQL Server 作业/计划 - 美国与英国夏令时调整



SQL Server 作业/计划 - 美国与英国夏令时调整

我们有一个基于英国的服务器,需要在 16:30(美国中部时间 - 这可能看起来很奇怪,但这是因为某些数据的可用性(。通常这不是问题,因为英国和美国之间的时差是 6 小时,因此我们将工作安排在 22:30。

但由于英国和美国在 3 月和 11 月的不同时间调整时钟以达到夏令时,因此英国和美国之间的时差为 5 小时,有 2 周的时间差。

我想实现一种方法,使SQL Server可以识别这种时差变化,然后使用类似sp_update_schedule的东西重新安排它自己的作业。

我的一种方法是在基于美国的服务器上获取当前时间戳,然后将其与当前的英国时间进行比较。如果时差为 5 小时,则将作业重新安排为 21:30,如果时差为 6 小时,则将作业重新安排为 22:30。

但无论如何都可以提出另一种解决方案,也许不涉及在美国服务器上获取当前时间戳,理想情况下不必在表中存储夏令时调整日期列表。也许还有更动态的东西?

实际上,您似乎已经提到了两个可行的解决方案:询问该时区的服务器或存储关键日期列表。 关于为什么的党路线在下面的第一个链接。 您可以实现自己的函数(该函数必须存储日期列表或向服务器询问偏移量(。 或者,您可以获取时区信息的公共域列表(如下面的第二个链接所示(。 还有几个 Web 服务将返回偏移量。 Oracle 实现了在命名时区之间进行转换的时区数据库,因此,如果您已经同时支持两者,则可以这样做。

有一个

C# 实现,您可以在第三个链接处包装在 CLR 函数中。

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/

相关内容

  • 没有找到相关文章

最新更新