Windows Server 2008 – 莫名其妙的系统时间跳转/毛刺/不准确

我正在Windows Server 2008上运行一个生产Web服务器。在这台服务器上,我有一个数据库,它logging了某些用户操作,但是我每隔一段时间就莫名其妙地获取数据库条目,根据loggingID和logging之前和之后,有错误的时间logging他们(7天+太旧)。 例如,loggingID 1001将在12月7日晚上11点,1002年12月7日晚上11时01分,然后1003年11月28日上午1点38分,然后下一个将再次回到正轨。 这个问题似乎发生在随机logging(或者连续2-3次logging),每隔几天就会出现一次。 这是绝对莫名其妙的,因为在应用程序中只有一个地方指定了这个date/时间值,而这只是系统的UTCdate。

我一直在同步系统时间time.a.nist.gov(我读另一篇文章是比默认的time.windows.com更可靠一些),似乎偶尔也会出现时间无论如何(3-4分钟),但我猜测偶尔时间服务器有一个暂时的小故障,date在短时间内变成大量错误的值,然后变回。 不pipe是这样,还是主板的时钟电池坏了,时间瞬间改变的原因是主板失去时间,然后时间同步又回来了。

我的怀疑是对的吗? 我应该closures生产服务器的时间同步吗? 将date分配给实际date前2周的事件日志是我发布下一个版本的应用程序时所遇到的严重问题。 任何build议或意见,将不胜感激。

我不确定时间同步是否是问题的原因,但不是完全禁用时间同步,还有一些非常棒的第三方实用程序可用于时间同步。 我个人最喜欢的是Tardis 2000 。 其中一个特点是可以设置为几分钟(通常使用5分钟)的“最大调整” – 这限制了一次可以改变的时间量。 但实际上,一旦Tardis 2000locking时间源,它就会测量系统时钟的变化,并通过微调时钟频率来保持同步! 如果失去同步,它甚至会通过电子邮件发送给您。 非常彻底的小SNTP实用程序。

在系统日志中search事件520(“时钟已更改”事件)。 这应该告诉你谁/什么,什么时候改变时钟。 这至less应该帮助你缩小范围。