
Estou tendo um problema em que o tempo salta aleatoriamente para 4 horas no passado. Como resultado, nenhuma das tarefas agendadas (como backups) acontece no momento correto e alguns aplicativos urgentes que usamos (como um sistema de contabilidade) não funcionam.
Por exemplo, se a hora real for 16h EST, o relógio do sistema indicará 12h. Se você redefinir o relógio do sistema novamente para a hora correta, ele retrocederá aleatoriamente 4 horas novamente.
- SO: Windows Server 2008 R2 Padrão SP1
- Este servidor não está em uma VM e não está associado a um domínio.
- Nosso fuso horário é EST.
- O Windows está definido para o fuso horário EST.
- O relógio do BIOS está em UTC.
- Para referência, EST é -4 horas do UTC.
- Para fins de depuração, desabilitei o Windows Time Service e qualquer outro serviço que eu possa imaginar que alterará a hora do sistema.
Verifiquei o visualizador de eventos e vi alguns eventos "Kernel-General" relacionados a mudanças de horário. Aqui está um exemplo:
<?xml version="1.0" encoding="UTF-8"?>
<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="2014-05-09T17:04:34.500000000Z" />
<EventRecordID>39254</EventRecordID>
<Correlation />
<Execution ProcessID="4" ThreadID="68" />
<Channel>System</Channel>
<Computer>SERVER</Computer>
<Security UserID="S-1-5-18" />
</System>
<EventData>
<Data Name="NewTime">2014-05-09T17:04:34.500000000Z</Data>
<Data Name="OldTime">2014-05-09T21:05:19.806811800Z</Data>
</EventData>
</Event>
Este evento foi gerado por volta das 17h. Após esse evento, o horário do sistema mostrava 13h, exatamente 4 horas atrasado em relação ao horário atual.
Instalar e executar o Windows Time Service e configurá-lo para sincronização de horário externo não resolve o problema. A sincronização de horário da Internet definirá a hora corretamente e, em seguida, a hora será redefinida novamente aleatoriamente.
Esse problema também ocorre de forma confiável sempre que você reinicia o computador.
Alguém já ouviu falar desse problema ou sabe de uma solução?
Responder1
Por padrão, o Windows espera que o relógio do BIOS seja definido para a hora local,nãoUTC. Este não é o caso do Linux e amigos. (O que é divertido em um sistema de inicialização dupla.)
Windows recentementeadicionou uma configuração de registroque permite que o relógio do BIOS seja definido como UTC. No entanto, esta configuração não é oficialmente suportada e é conhecida por causar problemas. http://blogs.technet.com/b/askds/archive/2012/03/09/unresponsive-servers-due-to-dst-and-an-unsupported-registry-key.aspx
Do ponto de vista puramente técnico, manter o relógio do BIOS em UTC é "melhor". No entanto, há muita bagagem histórica no Windows que espera que o relógio do BIOS seja a hora local, portanto, você não deve mexer com essa configuração, a menos que tenha um motivo específico para fazê-lo.
Portanto, minhas recomendações seriam definir o relógio do BIOS para o fuso horário local, certificar-se de que seu fuso horário esteja definido corretamente no Windows e certificar-se de que o serviço de horário do Windows esteja configurado para usar uma fonte NTP externa (já que você não está ligado um domínio, use w32tm na linha de comando para fazer isso).