7.1 What About Signals?
Those of you familiar with
the
BIND name server know that it's possible to signal a
running name server to perform certain tasks, such as rereading its
configuration file or turning on debugging information. The Microsoft
DNS Server has no exact analog to a BIND name
server's signals, but you can still make it perform
certain tasks while running. We'll go over the tasks
possible using signals on a BIND name server and show how to
accomplish the same thing (if possible) with the Microsoft DNS
Server:
- Restart the name server
-
You can signal a BIND name server to reread its configuration file
and zone datafiles. There's no comparable Microsoft
DNS Server command. If the server
obtains
its configuration information from the Registry (the default mode),
this command isn't necessary: as you make
configuration changes with the DNS console, they take effect
immediately in the running name server. If the server is using a
BIND-style boot file, you must stop and restart the server after
making a change to the boot file. For more information on the server
"boot method," see Appendix B.
- Dump a copy of the name server's internal database
to a file
-
A BIND server can dump its entire memory
database
of authoritative data, cached data, and root name server
"hints" to a file.
There's no direct Microsoft DNS Server equivalent,
but you can come close�all this information is visible in the
DNS console. To see authoritative data, just select the appropriate
zone. By selecting the Cached Lookups
folder, you can see the contents of the name
server's cache as well as the list of root name
servers it's using.
- Dump name server statistics to a file
-
You can't dump the Microsoft DNS
Server's usage statistics to a file, but you can
view them from Performance Monitor, a Microsoft Management Console
snap-in. Statistics are covered in detail at the end of this chapter.
- Start/stop writing debugging information to a file
-
The Microsoft DNS Server can log several
different
kinds of debugging-related information to a file. This behavior is
controlled from the Debug Logging
tab of the server properties window, where you can select
the types of debugging information that should be logged.
- Log all queries
-
As with a
BIND
server, you can also direct the Microsoft DNS Server to log
individual queries processed. The default options on the Debug Logging tab cause the server to record
all queries received (and responses sent) when debug logging is
turned on.
The main thing you can do to a running Microsoft DNS Server is stop
it and start it again. What happens when you stop and start the
server? Remember that the name server answers queries from its
in-memory database. This database includes three kinds of
information: authoritative data (zones for which the server is a
primary or secondary), cached data (answers from other name servers),
and root name server "hints" (the
list of root name servers from the root name server cache file,
cache.dns). When you stop the name server, this
data is lost.
When you restart the server, it reloads the authoritative data from
the zone datafiles on its disk. Zones for which the server is a
primary are loaded and not read again for the lifetime of the server
process. (Of course, you can make a change to a primary zone with the
DNS console and direct the server to write to
the zone datafile with Action
Update Server Data
Files, but the server reads the zone
datafile only at startup.) Zones for which the server is a secondary
are also loaded from the zone datafiles. But for each zone, the
server queries its master (usually the zone's
primary) for the SOA record to compare serial numbers. If the
master's serial number is larger than the serial
number in the zone just loaded from disk, the server performs a zone
transfer.
The server also reads cache.dns at startup. In
Chapter 4, we described how root name server
information is used not directly, but as a
"hint" to find the current list of
root name servers: the server queries a root name server from
cache.dns for the current list of root name
servers, and the results are the first records in the cache.
Remember, the cache is empty when the server starts up.
 |