41

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?

Mihai Limbăşan
  • 3,071
  • 22
  • 19
Jeff Atwood
  • 12,994
  • 20
  • 74
  • 92
  • You're not alone Jeff – jkp Apr 30 '09 at 18:17
  • 1
    Looks like this might not be an option for domain controllers. –  Apr 30 '09 at 19:07
  • 1
    Welcome to Windows SNTP hell. DLL Hell is just around the corner and there is a tram on the half hour. The deli is better here though. – Scott Alan Miller Apr 30 '09 at 19:44
  • 2
    Have you tried a different NTP server? us.pool.ntp.org – stukelly Apr 30 '09 at 20:17
  • Thank you for posting this. If anyone in Windows land is listening, please make basic network config like this easier for us! There are certain things our servers will always need, like an accurate time relative to the timezone. There might be non-trivial considerations that I'm not aware of but this is a recurrent issue, and also breaks WSUS if left unchecked. –  May 05 '09 at 00:42

4 Answers4

19

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.

HKLM\SYSTEM\CurrentControlSet\Services\W32Time\Config\AnnounceFlags

This registry entry controls whether the local computer is marked as a reliable time server (which is only possible if the previous registry entry is set to NTP as described above). Change this REG_DWORD value from 10 to 5 here.

UPDATE As per Jeff, best source of reference is http://support.microsoft.com/kb/816042

Joseph
  • 1,726
  • 3
  • 19
  • 22
14

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.

crb
  • 7,928
  • 37
  • 53
  • Thanks a lot mate. Windows Time Agent is a gem. It just became a must-have install on all the servers I manage as well. – paracycle Jan 19 '10 at 15:32
8

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

Mark Porter
  • 991
  • 1
  • 5
  • 12
5

The way that Microsoft suggests to sync time is visualized below.

M$ Time!

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:

If the computer is a member server or workstation within a domain, by default, it follows the AD DS hierarchy and synchronizes its time with a domain controller in its local domain that is currently running the Windows Time service.

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.

Brett Larson
  • 854
  • 1
  • 12
  • 20
  • yeah, we didn't want or need a domain controller, just a bunch of peer servers. – Jeff Atwood Dec 12 '12 at 22:33
  • Oh, I assumed you were a part of a domain. I think you should be able to set all of the servers up using the coammnds linked to poll from pool.ntp.org. Maybe time.windows is not a great time source. I would again try with NTP pool as it has around 3000 global servers and about 900 in North America! – Brett Larson Dec 12 '12 at 23:39
  • We were never able to get it to work reliably. I think you are right: reliable time sync in Windows Server is *impossible* without a domain controller. Which is totally lame. – Jeff Atwood Dec 13 '12 at 00:38