Why does Windows Server (2008, in this case, but I've seen the same problem in 2003) seem to have problem synchronizing time? I've seen this error in my System log across a variety of servers:
The time service has not synchronized the system time for 86400 seconds because none of the time service providers provided a usable time stamp. The time service will not update the local system time until it is able to synchronize with a time source. If the local system is configured to act as a time server for clients, it will stop advertising as a time source to clients. The time service will continue to retry and sync time with its time sources. Check system event log for other W32time events for more details. Run 'w32tm /resync' to force an instant time synchronization.
Under Control Panel, Date and Time, The Internet Time Settings are set to synchronize with time-nw.nist.gov
; the last successful sync was 2 days ago, indicating there's some kind of problem. But if I click the "update now" button on that dialog, indeed, it updates with the time!
So why can't windows server reliably time sync via NTP in the background without me manually intervening? What am I doing wrong?
Jeff, I found this article. Might be of some help to you. You might have already read this but I thought it was worth a shot.
UPDATE As per Jeff, best source of reference is http://support.microsoft.com/kb/816042
Windows Time Agent is a free control panel applet for configuring the NTP server/synchronization ability of Windows. It acts as a front-end to the registry settings and lets you configure multiple NTP servers and see what sort of results you are getting from them in real-time.
Not many people know about this particularly handy (and free) piece of software, but it's a must-install on servers I maintain.
When synchronized time is important, I use NTPD for windows
http://www.meinberg.de/english/sw/ntp.htm
I install it, point it at north-america.pool.ntp.org and forget it
The way that Microsoft suggests to sync time is visualized below.
So why can't Windows reliably sync NTP? It has to do with how time is set up in a domain environment. From this Technet artice:
You are going "against the grain" here by trying to set up member servers to pull NTP time.
The "Right" (Ie. the Microsoft way) to do it would be to set time up as displayed in the picture above, having the PDC Emulator sync to a reliable external time service such as pool.ntp.org, having the domain controllers sync to the PDC emulator, and then having the member servers and PCs automatically sync from a domain controller.
I have detailed the process of fixing the time to operate this way in this answer.