When SpecialPollInterval is used as a polling interval, the Windows Time service does not correct the time if the service gets into Spike state

Symptoms

An NTP client computer that is running Windows Vista, Windows Server 2008, Windows 7, Windows Server 2008 R2, Windows 8, Windows Server 2012, Windows 8.1, or Windows Server 2012 R2, may not correct the time if the following conditions are true:
  • The NTP client syncs its time with the manually specified NTP server.
  • The NTP client uses SpecialPollInterval as a polling interval.
  • The time offset between the NTP client and the NTP server is greater than the LargePhaseOffset as configured in the NTP client.
In this situation, the NTP client cannot correct its time even after waiting for SpikeWatchPeriod to pass.

Cause

This problem occurs because the NTP client gets into SPIKE state every time the client polls the time sample to the NTP server. The Time service manages its internal status, and if the client gets into SPIKE state, the client does not sync its time.

Resolution

To work around this issue so that the NTP client is enabled to sync with the NTP server after a SPIKE state, configure Windows Time to use the MinPollInterval/MaxPollInterval as the polling interval.

To have us configure Windows Time to use the MinPollInterval/MaxPollInterval as the polling interval for you, go to the "Here's an easy fix" section. If you prefer to configure Windows Time to use the MinPollInterval/MaxPollInterval as the polling interval yourself, go to the "Let me fix it myself" section.

Note If you set Windows Time Service's settings by Group Policy or Local Group Policy, this "Easy fix" method does not work and you have to delete policy settings.

Here's an easy fix

To configure Windows Time to use the MinPollInterval/MaxPollInterval as the polling interval, click the Download button. In the File Download dialog box, click Run or Open, and then follow the steps in the easy fix wizard.
  • This wizard may be in English only. However, the automatic fix also works for other language versions of Windows.
  • If you’re not on the computer that has the problem, save the easy fix solution to a flash drive or a CD, and then run it on the computer that has the problem.
For Windows 10, Windows 8.1, Windows Server 2012 R2, Windows 8, and Windows Server 2012


For Windows 7, Windows Vista, Windows Server 2008 and Windows Server 2008 R2
Let me fix it myself

Workaround

If you want to use "SpecialPollinterval", you should change the following registry:
Key: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config
Value: MinPollInterval
Type: DWORD

To avoid this issue, the registry key should apply conditional expression as follows:
Conditional expression:
SpecialPollInterval<(2^MinPollInterval)*(HoldPeriod+1)
Domain member computer has default values:
  • MinPollInterval=10
  • HoldPeriod=5
Note If you set Windows Time Service's settings by Group Policy or Local Group Policy, this workaround does not work and you have to delete Policy settings.

Status

Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.

More Information

The polling interval that Windows Time uses is set by the following registry subkey:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters

If the value of the NtpServer entry in this subkey contains 0x1, Windows Time uses SpecialPollInterval as the polling interval. Otherwise, Windows Time uses MinPollInterval/MaxPollInterval. For additional Information about the Windows Time Service and registry values, visit the following Microsoft Web site:
คุณสมบัติ

รหัสบทความ: 2638243 - การตรวจสอบครั้งสุดท้าย: 8 มี.ค. 2016 - ฉบับแก้ไข: 1

คำติชม