The WINS database
Updated: January 21, 2005
Applies To: Windows Server 2003, Windows Server 2003 R2, Windows Server 2003 with SP1, Windows Server 2003 with SP2, Windows Server 2008, Windows Server 2008 R2, Windows Server 8 Beta
The WINS database
The WINS database stores and replicates the NetBIOS name-to-IP address mappings for your network. In the Windows Server 2003 family, the WINS database uses the Extensible Storage Engine (ESE).
Compacting the database
There is no built-in limit to the number of records that a WINS server can replicate or store. The size of the database depends on the number of WINS clients on the network. The WINS database changes over time as clients log on and log off the network.
However, the size of the WINS database is not directly proportional to the number of active client entries. Over time, as some WINS client entries become obsolete and are deleted, the size of the WINS database grows larger than the actual space currently in use by the database. This is because the space used to store obsolete records is not automatically reclaimed by the server once the space is freed and no longer in use.
Compacting the WINS database recovers the unused space. Dynamic database compaction occurs on WINS servers as an automatic background process during idle time after a database update. Compaction can also be done manually offline. Windows NT Server 4.0, Windows 2000, and the Windows Server 2003 family support both dynamic and manual compaction. Windows NT Server 3.51 (or earlier) supports only manual compacting of the WINS server database.
Although dynamic compacting greatly reduces the need for offline compaction, offline compaction reclaims the space better and should be done periodically. How frequently you manually compact the WINS database depends on your network. For large, busy networks with 1,000 or more WINS clients, you should compact offline each month. Smaller networks usually require less frequent manual compaction.
Because the dynamic database compaction occurs while the database is in use, you do not need to stop the WINS server during this process. However, for manual compacting, you must stop the WINS server and take it offline.
Backing up the WINS database
The WINS console provides the tools you need to maintain, view, back up, and restore the WINS server database. You should back up the database whenever you back up other files on the WINS server.
WINS database files
WINS uses the Jet database format for storing its data. Jet produces the J<n>.log and other files in the systemroot\System32\Wins folder to increase the speed and efficiency of data storage.
The following table discusses the files that are created and used by the Jet database in each WINS server.
J50.log and J50#####.log
A log of all transactions done with the WINS database. This file is used by WINS to recover data if necessary.
To increase speed and efficiency of data storage, the Jet database writes current transactions to log files rather than directly to the database. Therefore, the most current view of the data includes both the database and any transactions in the log files. Both of these files are used for recovery if the WINS service abruptly or unexpectedly stops. If the service stops in an unexpected manner, the log files are automatically used to re-create the correct state of the WINS database.
Log files maintain a specific size; however, they can grow quickly on a busy WINS server. Inevitably, WINS writes more transactions to a log than the log size can accommodate. When a log file is filled, it is renamed, indicating that it is an older log and not in use. A new transaction log is created with the J<n>.log file name, where <n> is a decimal number, such as J50.log. The naming format of the previous log file is JetXXXXX.log, where each X denotes a hexadecimal number from 0 to F. Previous log files are maintained in the same folder as the current log files.
The log files are processed (all entries written to the database) and deleted every three hours. Processing and deletion also occur upon successful WINS database backup or when the WINS server is shut down properly. If many J<n>.log files accumulate, you should schedule frequent backups to maintain the logs.
After the entries are processed, you can manually delete the log files; however, this prevents a successful recovery of the database if it should be needed. For this important reason, do not manually delete or remove the log files from the system until a backup has been performed.
A checkpoint file that indicates the location of the last information successfully written from the transaction logs to the database. In a data recovery scenario, the checkpoint file indicates where the recovery or replaying of data should begin. This checkpoint file is updated every time data is written to the database file (Wins.mdb).
The WINS server database file, which contains two tables: the IP address-to-Owner ID mapping table and the Name-to-IP address mapping table.
A temporary file that is created by the WINS server service. This file functions as a swap file during index maintenance operations and can remain in the systemroot\System32\Wins directory after a system failure.
These are reserved log files, which function in emergencies when the server runs out of disk space. If a server attempts to create another transaction log file, and there is insufficient disk space, the server flushes any outstanding transactions into these reserved log files. The service then shuts down and logs an event to Event Viewer.
The J50.log, J50#####.log, Wins.mdb, Winstmp.mdb, and Res#.log files should not be removed or altered.