周末(3 月 27 日星期日)爱尔兰开始实行夏令时,因此我们生产环境中的所有服务器(所有 win2k3 服务器)都将其时间更新为 +1 小时。然而,我无法解释的一个现象导致我们的两个集群节点在 @ 02:08 和 02:38 而不是 @ 00:59 进行更新。
我们的生产环境中有 2 个域。
- DOMAIN1 包含 PDC1 + 6 或 7 个虚拟机。(独立 Web、负载平衡、文件服务器)
- DOMAIN2 包含 PDC2 + 2 台物理服务器,它们为 SQL Server 群集在一起
在 DOMAIN1 中,一切似乎都运行正常,所有机器都准确地向前移动了 1 小时00:59:59
-> 02:00:00
。可以通过查看任何服务器上日志文件中的时间戳或查看这些服务器写入数据库表的时间戳数据来确认这一点。
然而,在 DOMAIN2 中,发生了一些奇怪的事情。
- DB_NODE_1 上的 SQL Server 代理实例中的作业显示时间变化发生在 02:08。即每分钟有作业显示开始时间为 02:08,然后是 03:09
- DB_NODE_2 上的 SQL Server 代理实例中的作业显示时间变化发生在 02:38。即每分钟有作业显示开始时间为 02:38,然后是 03:39
两个实例上的 DB 插入都依赖于 SQLGetDate()
函数,情况也是如此。数据显示,getdate() 插入在两个实例上分别在02:08
&处向前跳转 +1 小时。02:38
所以我的问题是为什么?
所有服务器(PDC、物理服务器和虚拟机)都具有完全相同的区域设置和时区设置(GMT、爱尔兰(英语))所有服务器都选择了“自动调整夏令时”选项。所有非 PDC 服务器都设置为使用 Windows 时间服务从其 PDC 获取时间更新(如果有任何差异)所有服务器都具有完全相同的 W32Time 注册表设置
所以我完全不明白为什么这两个集群节点决定等待 68 分钟和 98 分钟来完成 DST 更新。
如果有人能阐明这一点,谢谢。
答案1
Windows 时间服务以 UTC 同步时间,所以这不会成为您的问题。
唯一想到的是,您在某些服务器上安装了不同的更新集,并且它们具有不同的时区数据。通常,您应该使用 WSUS 来确保集群中所有服务器都应用了相同的更新。