This article discusses methods that may be used to recover a corrupted Dynamic Host Configuration Protocol (DHCP) database.
Important This section, method, or task contains steps that tell you how to modi…
Important This section, method, or task contains steps that tell you how to modify the registry. However, serious problems might occur if you modify the registry incorrectly. Therefore, make sure that you follow these steps carefully. For added protection, back up the registry before you modify it. Then, you can restore the registry if a problem occurs. For more information about how to back up and restore the registry, click the following article number to view the article in the Microsoft Knowledge Base:
322756 (http://support.microsoft.com/kb/322756/ ) How to back up and restore the registry in Windows
The following event log messages appear on a computer running Windows NT Server versions 3.51 and 4.0 when the DHCP database has been corrupted:
Event ID: 1014
Source: DhcpServer
Description: The Jet database returned the following Error: -510.
-or-
Event ID: 1014
Source: DhcpServer
Description: The Jet database returned the following Error: -1022.
-or-
Event ID: 1014
Source: DhcpServer
Description: The Jet database returned the following Error: -1850.
If you use Jet.exe to compact the DHCP database, you will not resolve the issue.
For additional information, click the following article number to view the article in the Microsoft Knowledge Base:
153476 (http://support.microsoft.com/kb/153476/ ) Windows NT 3.51 DHCP Server Stops Assigning IP Addresses to Clients
The DHCP database is contained in the Dhcp.mdb file located in the %SystemRoot%System32Dhcp folder. The DHCP server uses this file to record and store information concerning active leases and reservations. Most of this information is also contained in the following registry key:
Windows NT 4.0:
HKEY_LOCAL_MACHINESystemCurrentControlSetServicesDHCPServerConfiguration
Windows 2000:
HKEY_LOCAL_MACHINESOFTWAREMicrosoftDhcpServerConfiguration
Whenever the DHCP service shuts down correctly, it makes a backup copy of both the database file (Dhcp.mdb) and the registry key. The backup information from the registry is contained in the file Dhcpcfg. For Windows NT 3.51, the file Dhcp.mdb is located in the %SystemRoot%System32DhcpBackupJet folder. In Windows NT 4.0, the file Dhcp.mdb is located in the %SystemRoot%System32DhcpBackupJetNew folder. Both versions of Windows NT store the Dhcpcfg file in the %SystemRoot%System32DhcpBackup folder.
To recover a corrupted DHCP database, use one of the following methods:
· Restore a backup copy of the database file, Dhcp.mdb
– or-
· Generate a new database file using the DHCP Configuration registry key.
Restoring a backup copy of the database file is the recommended method because you will not lose information when you use it.
After you recover your database file using one of the methods mentioned earlier, you must reconcile the information between the database file and the registry information.
NOTE: The following steps assume that your DHCP server will not start because of a corrupted DHCP database. If your DHCP server starts, but the database is corrupted, you have to start by stopping the service.
To stop the DHCP server service, type the following at a command prompt:
net stop dhcpserver
Restoring a Backup Copy of the Database
Important This section, method, or task contains steps that tell you how to modify the registry. However, serious problems might occur if you modify the registry incorrectly. Therefore, make sure that you follow these steps carefully. For added protection, back up the registry before you modify it. Then, you can restore the registry if a problem occurs. For more information about how to back up and restore the registry, click the following article number to view the article in the Microsoft Knowledge Base:
322756 (http://support.microsoft.com/kb/322756/ ) How to back up and restore the registry in Windows
1. Move the files from your existing DHCP folder to a different location, being careful to keep the DHCP folder structure intact. For example, type the following at a command prompt and press ENTER after each line:
md c:Olddhcp move %SystemRoot%system32DHCP*.* C:Olddhcp
2. Remove the corrupted database file.
3. Copy the backup database file into the DHCP folder by typing the following at a command prompt, and then pressing ENTER:
o Windows NT 3.51
copy %SystemRoot%system32dhcpbackupjetdhcp.mdb %SystemRoot%system32dhcpdhcp.mdb
o Windows NT 4.0
copy %SystemRoot%system32dhcpbackupjetnewdhcp.mdb %SystemRoot%system32dhcpdhcp.mdb
If your computer is running Microsoft Windows 2000, modify the following registry key to restore the DHCP server:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesDHCPServerParameters
Change the RestoreFlag REG_DWORD value in this registry key to 1.
You may also choose to restore the Dhcp.mdb file to the %SystemRoot%System32Dhcp folder from a tape backup or other backup media.
Because you are using an existing database file, whether you restore it from backup media or the backup folder, you must use the Jetpack utility to compress it.
For additional information, click the article number below to view the article in the Microsoft Knowledge Base:
145881 (http://support.microsoft.com/kb/145881/EN-US/ ) How to Use Jetpack.exe to Compact a WINS or DHCP Database
The above procedure should allow the service to start, but if your scope information is missing, you must use a backup copy of the Dhcpcfg registry file to restore your scope and reservation information. See steps 5 through 11 in the "From the New DHCP Server" section of the following article:
For additional information, click the following article number to view the article in the Microsoft Knowledge Base:
130642 (http://support.microsoft.com/kb/130642/ ) How to Move a DHCP Database to Another Windows Server
Generating a New Database File
1. < b>Move the files in your existing DHCP folder to a different location, being careful to keep the DHCP folder structure intact. For example, type the following at a command prompt, pressing ENTER after each line:
md c:olddhcp move %SystemRoot%system32dhcp*.* c:olddhcp
2. Select the next step from the following list, depending on which version of Windows NT Server you are using:
Windows NT Server 3.51:
Expand a new copy of System.mdb from the original Windows NT Server source media by inserting your original Windows NT Server 3.51 CD into your CD-ROM drive. To do so, type the following at a command prompt, and then press ENTER:
expand D:I386System.md_ %SystemRoot%System32DhcpSystem.mdb
where D: is your CD-ROM drive and i386 is your platform.
Windows NT Server 4.0:
Restart the DHCP server with an empty DHCP folder. Windows NT 4.0 and Windows 2000 do not use a System.mdb file.
The above procedure should allow the service to start, but if your scope information is missing, you must use a backup copy of the Dhcpcfg registry file to restore your scope and reservation information. See steps 5 through 11 in the "From the New DHCP Server" section of the following article:
For additional information, click the following article number to view the article in the Microsoft Knowledge Base:
130642 (http://support.microsoft.com/kb/130642/ ) How to Move a DHCP Database to Another Windows Server
Reconciling DHCP Information
After you generate a new database file, you may notice that the scope information is present, but no active leases are displayed. To regain the active leases, you must reconcile the database with the information in the registry using the following steps:
1. From DHCP Manager, click your scope, and then click Active Leases on the Scope menu.
2. In the Active Leases dialog box, click Reconcile.
3. Click OK. Your active leases will appear in the Active Leases dialog box.
NOTE: When you view the properties for a client lease, the computer name will be listed as the IP address of the lease and an arbitrary hexadecimal value will be listed as the client identifier. These will be replaced with the appropriate information as the clients renew their leases.
Repeat the above procedure for each scope for which you must reconcile leases.
If your DHCP server is Windows NT Server 4.0 SP2 or later, you must turn on IP Conflict Detection as described in the following article:
161430 (http://support.microsoft.com/kb/161430/EN-US/ ) Detecting and Flagging Duplicate IP Addresses
APPLIES TO
· Microsoft Windows 2000 Server
· Microsoft Windows 2000 Advanced Server
· Microsoft Windows NT Server 3.51
· Microsoft Windows NT Server 4.0 Standard Edition
<