Windows Server 2008 R2 time keeps changing unexpectedly

timewindows-server-2008

There is a serious problem with one of my servers time.
At some random hours (5:59 localtime in the following example) it goes 1 hour back and keeps doing this again and again next times it reaches 5:59. Like this: 5:59->4:59 … 5:59-> 4:59 and so on. It stays in the loop until I manually update its time.
The server OS is Windows 2008 R2 Standard x64, acting as a standalone web server on the internet. time zone (UTC-05:00).

system log:

Information 4/13/2012 5:59:34 PM Kernel-General 1 None
Information 4/13/2012 5:59:34 PM Kernel-General 1 None
Information 4/13/2012 5:59:34 PM Kernel-General 1 None
Information 4/13/2012 5:59:34 PM Kernel-General 1 None
Information 4/13/2012 5:59:34 PM Kernel-General 1 None
Information 4/13/2012 5:59:34 PM Kernel-General 1 None

all of the above entries have same content:

The system time has changed to ‎2012‎-‎04‎-‎13T21:59:34.500000000Z from ‎2012‎-‎04‎-‎13T22:59:34.500000000Z.

Details XML View:

- <Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
- <System>
  <Provider Name="Microsoft-Windows-Kernel-General" Guid="{A68CA8B7-004F-D7B6-A698-07E2DE0F1F5D}" /> 
  <EventID>1</EventID> 
  <Version>0</Version> 
  <Level>4</Level> 
  <Task>0</Task> 
  <Opcode>0</Opcode> 
  <Keywords>0x8000000000000010</Keywords> 
  <TimeCreated SystemTime="2012-04-13T21:59:34.500000000Z" /> 
  <EventRecordID>4060</EventRecordID> 
  <Correlation /> 
  <Execution ProcessID="4" ThreadID="80" /> 
  <Channel>System</Channel> 
  <Computer>********</Computer> 
 <Security UserID="S-1-5-18" /> 
  </System>
- <EventData>
  <Data Name="NewTime">2012-04-13T21:59:34.500000000Z</Data> 
  <Data Name="OldTime">2012-04-13T22:59:34.500000000Z</Data> 
  </EventData>
  </Event>

Any idea about what’s going on?
Thanks

Best Answer

Check the time in your BIOS. Hardware time will throw the OS off. It may be what is causing Windows to change its time back.

Furthermore, I know this is going to sound obvious, but make sure that Windows has all current updates, especially time zone updates. If you use WSUS or some other patching infrastructure, it's not impossible to either 1) have updates that exist but haven't been approved yet, or 2) Have updates that were mistakenly disallowed that really need to be applied.