Microsoft has changed the way DNS loads zone data into memory. Sometimes the DNS server can take an hour or more to load the data with extremely large zone data stored in the Active Directory Services. The result is that the DNS server is unable to serve the client’s requests in a timely fashion.
Microsoft has changed the behavior of DNS server in Windows Server 2008. Now, DNS server running on Windows Server 2008 loads the zone data from Active Directory while it restarts so that it can respond to the client requests coming to DNS server for other zones. As an example, if 100 zones are created in DNS server, and data for first three zones have been loaded properly while it is loading the data for other zones, the DNS server can respond to the clients’ requests coming to first three zones.
Because separate threads perform the task of loading zones, the DNS server is able to respond to queries while zone loading is in progress.
When the DNS server starts, it:
- Enumerates all the zones to be loaded
- Loads root hints first
- Loads all the file-based zones
- Begins responding to DNS queries coming from the client computers (all RPC calls)
- Creates separate threads so DNS queries from client computers can be served as expected.
How Does It Work?
- A client sends a DNS query to the DNS server
- If the DNS client requests data for a host in a zone that has already been loaded, the DNS server responds with the data.
- If the request is for a zone that has not yet been loaded into memory, the DNS server reads the zone data from Active Directory and serves the request as expected.
How to Enable This Feature?
You need to use DNS, which ships with Windows Server 2008 (any edition).
This article was first published on ServerWatch.com.