WINS Database 70-299 70-541 XK0-002 70-536
The WINS database uses the Extensible Storage Engine (ESE) to operate. This is the
same engine used by Active Directory directory service, Microsoft Exchange, and many
other Windows components. ESE is built on JET (Joint Engine Technology). Most database
programs such as Microsoft SQL Server, Oracle, and Sybase allow transactions to
first be written to a log file before being written to the database file. This improves
performance because input/output (IO) to a file can be done quickly; subsequent
transactions can be written to the area of the database where the data should be stored.
ESE also separates log files and transactions to optimize performance.
For example, if a WINS-enabled client is booted, the client will register its name and IP
number to the WINS server. The WINS server will write this transaction to a log file
immediately. Later, when the processor is idle, transactions will be permanently written
directly to the database. There are a couple of advantages to this methodology:
Improved performance 646-230 642-533
Fault tolerance 70-272 70-284 220-602
The improved performance has already been demonstrated, but how is fault tolerance
gained in this example? Because all transactions are written to a log file first, a harddisk
crash of the database file could easily be restored from a backup tape combined
with the log files you have stored on a different drive or tape. This would allow you to
bring the server back to the point of failure. That is, transactions could be restored right
up to the point when the crash occurred if you restored your WINS database backup
and the current log files.
Now that you have had a lesson in how most databases work, let’s look at the WINS
database.
WINS Database Files
WINS uses the JET database format to store data in five different file types:
Log Files As you learned earlier, transactions are stored in log files. These files
begin with the letter “J” followed by a decimal number if the log file is a new
transaction, for instance, J10.log. If a log file becomes full, it is renamed with a
hexadecimal number appended to the previous name, such as J100000F.log. Then,
a new log file with the original filename is created.
Log files can grow quickly. As you learned in your earlier brief database lesson,
writing to log files increases speed and efficiency of data storage as well as providing
for recovery in case of a failure or crash. Log files should not be deleted
until a backup of the WINS database has occurred.
After all, once the database has been backed up, there is no reason to keep a copy
of the log files because the transactions have already been posted to the database
and backed up to tape or another media. If, however, the database crashes and
there is no backup of the log files, losing the database would mean losing the files
to recover. If you do not have a software or hardware redundant array of independent
disks (RAID) system in place, you would be able to return the system only to
the point of your last backup. All transactions that occurred between that backup
and the crash would be lost.
Checkpoint files Checkpoint files are used during a recovery process. These
files indicate the location of the information that was successfully written from the
transaction log files to the database file.
Wins.mdb The WINS server database file contains two tables: the IP address-toowner
ID mapping table and the name-to-IP address mapping table.
Winstmp.mdb This is a temporary file created by the WINS server service to aid
in index maintenance. 70-630 640-801 70-297
Res# .log Reserved log files are used if your server runs out of disk space and
cannot create additional transaction log files. The server places outstanding transactions
into these reserved log files, and the WINS service shuts down and logs an
event to Event Viewer.