Hi,
I got a Event ID 1014 and it says that the DHCP Database is corrupted. Does anybody have any tips or hints on how to fix this?
Any help is very much welcome.
Thank you in advance
WARNING: Using Registry Editor incorrectly can cause serious problems that may require you to reinstall your operating system. Microsoft cannot guarantee that problems resulting from the incorrect use of Registry Editor can be solved. Use Registry Editor at your own risk.
SUMMARY
This article discusses methods that may be used to recover a corrupted Dynamic Host Configuration Protocol (DHCP) database.
MORE INFORMATION
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.
Using Jet.exe to compact the DHCP database does not resolve the issue.
For additional information, please see the following article in the Microsoft Knowledge Base:
ARTICLE-ID: Q153476
TITLE : DHCP Stops Assigning IP Addresses to Clients
The DHCP database is contained in the Dhcp.mdb file located in the %SystemRoot%\System32\Dhcp 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:
NOTE: The above registry key is one path; it has been wrapped for readability.
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%\System32\Dhcp\Backup\Jet folder. In Windows NT 4.0, the file Dhcp.mdb is located in the %SystemRoot%\System32\Dhcp\Backup\Jet\New folder. Both versions of Windows NT store the Dhcpcfg file in the %SystemRoot%\System32\Dhcp\Backup folder.
WARNING: Using Registry Editor incorrectly can cause serious problems that may require you to reinstall your operating system. Microsoft cannot guarantee that problems resulting from the incorrect use of Registry Editor can be solved. Use Registry Editor at your own risk.
For information about how to edit the registry, view the Changing Keys and Values online Help topic in Registry Editor (Regedit.exe). Note that you should make a backup copy of the registry files (System.dat and User.dat) before you edit the registry.
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 above, you will need to 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 will then need to begin 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
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:
NOTE: The above command lines are continuous lines; they have been wrapped for readability.
You may also choose to restore the Dhcp.mdb file to the %SystemRoot%\System32\Dhcp 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 should compress it using the Jetpack utility.
For additional information, please see the following article in the Microsoft Knowledge Base:
ARTICLE-ID: Q145881
TITLE : How to Use Jetpack.exe to Compact a WINS or DHCP Database
The procedure above should allow the service to start, but if your scope information is missing it may be necessary to use a backup copy of the Dhcpcfg registry file to restore your scope and reservation information. Refer to steps 5 through 11 in the "From the New DHCP Server" section of the following article:
Article-ID: Q130642
Title : How to Move a DHCP Database to Another Windows NT Server
Generating a New Database File
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:
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, typing the following at a command prompt, and then pressing ENTER:
expand D:\I386\System.md_ %SystemRoot%\System32\Dhcp\System.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 does not use a System.mdb file.
The procedure above should allow the service to start, but if your scope information is missing, it may be necessary to use a backup copy of the Dhcpcfg registry file to restore your scope and reservation information. Refer to steps 5 through 11 in the "From the New DHCP Server" section of the following article:
ARTICLE-ID: Q130642
TITLE : How to Move a DHCP Database to Another Windows NT 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 need to reconcile the database with the information in the registry using the following steps:
From DHCP Manager, click your scope, and then click Active Leases on the Scope menu.
In the Active Leases dialog box, click Reconcile.
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 need to reconcile leases.
If your DHCP server is Windows NT Server 4.0 SP2 or later, you should enable IP Conflict Detection as described in the following article:
ARTICLE-ID: Q161430
TITLE : Detecting and Flagging Duplicate IP Addresses
Thanks for the MS Info on this. I also found that page on the web but didn't really liked what it suggested. It's a production server and I'm not going to mess with the registry on it. Do you or anybody else have any more usefull info but the info from Technet?
Thanks
Well, try compacting it first. If this doesn't work, you can try one of three things:
1) Stop the DHCP service if it is running. Delete all the files (not folders) in the System32\DHCP directory and copy the files from the DHCP\backup\Jet\new directory. Start the DHCP service.
2) Stop the DHCP service, if it is running. Delete the DHCP directory and restore it from the most recent tape backup.
3) Stop the DHCP service if it is running. Delete all the files (not folders) in the System32\DHCP directory. Start the DHCP service. It will generate a new .mdb file. I think the scope information is in the registry, so it won't be lost, but I'm not positive. Creating a new scope with the same range will be fine, in any case, and the only thing you will really need to worry about is any reservations that might have disappeared.
Assuming that users have no need to maintain their lease, why don't you remove the DHCP service (via the network icon in control panel) and then reinstall.
Make a note of the scope and simply add it back to the install. takes about 20 minutes and 1 reboot.
Do it out of hours then when users log on next day they will get a new IP address from the pool.
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.