When multiple DNS Servers are set on a client I have always believed it worked something like this:
The Primary DNS Server is always used if it is available and the Secondary DNS Server is only ever used if the event that the primary in unavailable. Is my understanding here correct?
Reason for asking is because I have just found this from Microsoft:
if you use multiple DNS servers, the client may also query the secondary server sometimes even if the first one is available
Let me see if I can rephrase the question better:
If Primary DNS is online and working why does DNSCache still seem to use Secondary DNS Server sometimes? My understanding is this should not happen.
According to Microsoft:
if you use multiple DNS servers, the client may also query the secondary server sometimes even if the first one is available
So how are clients with multiple DNS Servers supposed to behave? Is this a bug in Win8 DNSCache?
But this article from MS seems to turn everything on its head: http://support.microsoft.com/kb/320760
This behavior occurs because the Windows XP DNS Client service (Dnscache) follows a certain algorithm when it decides the order in which it uses the DNS servers configured in the TCP/IP properties. If the DNS server list is reprioritized, the Windows XP DNS Client service resets the server priority at periodic intervals. By default, the server priorities are reset every 15 minutes
This suggests that DNSCache does not treat Primary/Secondary as different priorities, just as alternative DNS servers of equal priority.
There is the ServerPriorityTimeLimit=0 registry setting to change to fix this behaviour.
Does this mean that MS DNSCache is broken and needs this registry fix to make it start working correctly again?