DHCP Server Service Failure Due to Lease Database (dhcp.mdb) Corruption — Jet Engine Errors
The Windows Server DHCP service stops unexpectedly or fails to issue IP addresses following corruption of the Jet-engine-based lease database (dhcp.mdb). Corruption typically results from sudden storage outages or unclean OS shutdowns that leave lease state tracking tables inconsistent, surfacing Event IDs 1014/1016 and JET_errRecordNotFound errors. Resolution involves stopping the DHCP service, restoring the database from the automatic backup at C:\Windows\System32\dhcp\backup\Jet\new\, and restarting the service. If restoration fails, the scope database must be recreated and configuration reconciled.
Indicators
- DHCP Server service stops unexpectedly and does not recover automatically
- Client endpoints fail to obtain IP addresses — APIPA (169.254.x.x) or no-address state observed
- Event ID 1014 logged in DHCP Server operational or System event log indicating database state error
- Event ID 1016 logged in DHCP Server operational or System event log indicating database state error
- JET_errRecordNotFound error code appearing in DHCP operational event logs
- New endpoints and roaming users report complete loss of local and internet connectivity
Likely causes
- Sudden storage outage interrupting in-flight writes to the dhcp.mdb lease database, leaving Jet engine tables in a corrupt state
- Unclean OS shutdowns (power loss, hard reset, BSOD) preventing the Jet engine from flushing and closing the lease database cleanly
- Jet engine database errors corrupting the active dhcp.mdb lease state tracking tables independently of storage events
Diagnostic steps
-
Open Event Viewer (eventvwr.msc) and navigate to Applications and Services Logs > Microsoft > Windows > DHCP-Server > Operational, or check System log. Filter for Event ID 1014 and Event ID 1016.Confirms the failure is database-related and distinguishes it from other DHCP service failure modes (network adapter issues, authorization failures).
-
Within the same event logs, search for entries containing the string 'JET_errRecordNotFound' or other JET engine error codes.Pinpoints which Jet engine error is present, confirming corruption in the lease state tracking tables and guiding the correct remediation path.
-
Open File Explorer or run 'dir C:\Windows\System32\dhcp\' from an elevated command prompt. Verify the presence of dhcp.mdb and note the last-modified timestamps on database files.Establishes the state of the active lease database files and confirms whether the database directory is accessible and structurally intact.
-
Navigate to C:\Windows\System32\dhcp\backup\Jet\new\ and verify that auto-backup files are present and recent enough to represent a usable restore point.Confirms whether a viable automatic backup exists before proceeding with database restoration, preventing unnecessary scope recreation.
-
Attempt to start the DHCP Server service: run 'net start DHCPServer' from an elevated command prompt. Observe whether it starts successfully or immediately fails, and capture any new event log entries generated at startup.Determines whether the corruption is severe enough to prevent service startup entirely, which dictates whether restoration or full recreation is required.
Resolution path
- Step 1 — Stop the DHCP Server service: Run 'net stop DHCPServer' from an elevated command prompt or stop via Services MMC (services.msc).
- Step 2 — Preserve corrupt database: Rename the existing dhcp.mdb to dhcp.mdb.corrupt for potential later analysis: 'ren C:\Windows\System32\dhcp\dhcp.mdb dhcp.mdb.corrupt'
- Step 3 — Restore the lease database from automatic backup: Copy the contents of C:\Windows\System32\dhcp\backup\Jet\new\ to C:\Windows\System32\dhcp\, overwriting the corrupt files: 'copy C:\Windows\System32\dhcp\backup\Jet\new\*.* C:\Windows\System32\dhcp\'
- Step 4 — Start the DHCP Server service: Run 'net start DHCPServer' or start via Services MMC. Monitor the event log for successful startup entries and absence of Event ID 1014/1016.
- Step 5 (fallback — if backup restoration fails) — If the service still fails to start, delete the corrupt dhcp.mdb, start the DHCP service to generate a fresh database, then manually re-enter all scope definitions, exclusions, reservations, and server options via dhcpmgmt.msc or netsh dhcp commands.
- Step 6 — Reconcile configuration: After restoration or recreation, use DHCP MMC 'Reconcile' function (right-click scope > Reconcile) to verify database consistency with registry-backed scope configuration.
Prevention
- Configure UPS (Uninterruptible Power Supply) units for servers hosting the DHCP role to prevent sudden storage outages and ungraceful shutdowns that corrupt the Jet database during active write operations.
- Ensure the DHCP Server's automatic backup interval is set appropriately (default 60 minutes via HKLM\SYSTEM\CurrentControlSet\Services\DHCPServer\Parameters\BackupInterval) and periodically validate that backup files in C:\Windows\System32\dhcp\backup\Jet\new\ are current and restorable.
- Implement DHCP failover (Windows Server DHCP Failover feature) between two DHCP servers so that if one server's database becomes corrupt, the partner server continues issuing leases without service interruption.
- Schedule regular exports of DHCP configuration using 'netsh dhcp server export <filepath> all' to a separate storage location, ensuring a known-good configuration baseline exists independent of the Jet database state.
Tools
- Event Viewer / eventvwr.msc (review DHCP operational and System event logs for Event IDs 1014, 1016, and JET errors)
- Services MMC / services.msc (stop and start the DHCP Server service)
- DHCP Management Console / dhcpmgmt.msc (scope reconciliation, configuration review, and recreation)
- File Explorer (inspect and restore files in C:\Windows\System32\dhcp\ and backup subdirectories)
- net stop / net start commands (command-line DHCP service control)
- netsh dhcp (command-line DHCP configuration export, import, and management)
- ipconfig /release and ipconfig /renew (client-side verification of IP address assignment)
References
- Source: DHCP Server Failures Following Lease Database Corruption — The Triage Manual