The DHCP server was unable to open the DHCP client database.

The_DHCP_server_was_unable_to_open_the_DHCP_client_database._1_Rule (Rule)

Knowledge Base article:

Management Pack
Summary

The DHCP 2000 Server service failed to start or failed to initialize. Therefore, the DHCP 2000 Server is unavailable and unable to serve client requests.

This condition does not repair itself until the error is fixed.

 
Causes

The DHCP 2000 Server cannot open the database of DHCP clients.

Possible causes include corruption of the DHCP database, which might be due to either hardware failure or software failure.

 
Resolutions

If applicable, use one or more of the following resolutions.

  • Before you perform any of the following procedures, use Services to confirm that the DHCP 2000 Server service, in fact, cannot start.

Resolution 1: Resolve a hardware problem

  • Investigate and resolve any possible hardware failure on your DHCP 2000 Server.

Resolution 2: Run Jetpack to compress the DHCP database

  1. On the DHCP 2000 Server, open a command prompt window, and then type:

    cd %systemroot%\system32\dhcp

    Typically, systemroot is C:\WINNT, and C:\WINNT\System32\Dhcp is the default install location of the DHCP database. To identify the location of your DHCP database, type netsh dhcp server show dbproperties at a command prompt. (To identify only your systemroot folder, click Start, click Run, type %systemroot%, and then click OK.)
  2. Type:

    net stop dhcpserver
  3. Wait until you see the message The DHCP 2000 Server service was stopped successfully confirming that the DHCP 2000 Server service is, in fact, stopped, and then type:

    jetpack dhcp.mdb tmp.mdb

    In the preceding command, dhcp.mdb is the DHCP database, and tmp.mdb is a temporary database that is used by Jetpack.exe. Make sure that no file named Tmp.mdb already exists in the DHCP folder.
  4. Wait until the output of the Jetpack command states that the Jetpack process completed successfully before you type the following commands to delete the .log and .chk files and restart the DHCP 2000 Server service.

    del %systemroot%\system32\*.log

    del %systemroot%\system32\*.chk

    net start dhcpserver


    For more information, see Microsoft Knowledge Base article 145881 about using Jetpack.exe to compact a WINS or DHCP database at http://go.microsoft.com/fwlink/?LinkId=25968.

    If the DHCP service is a resource within a Windows 2000 cluster, see Microsoft Knowledge Base article 283251 about using the Jetpack utility on a clustered WINS/DHCP database at http://go.microsoft.com/fwlink/?LinkId=25969.
 
External Knowledge Sources

For more information about DHCP 2000 Server system event IDs 20000-20074, see the MSDN Library topic “DHCP Server Management API Error Codes” at: http://go.microsoft.com/fwlink/?LinkId=26116.


For any DHCP 2000 Server system event ID resolution that includes running Jetpack.exe, if repair of the DHCP 2000 Server database by using Jetpack.exe fails, see “Restoring server data” at: http://go.microsoft.com/fwlink/?LinkId=26117.

Microsoft Knowledge Base
Search for additional information on this event.
 
Sample Event
The DHCP 2000 Server was unable to open the DHCP client database.
 
Related Events

For more information about other event IDs that are related to a DHCP 2000 Server service startup or initialization failure, see DHCP 2000 Server system event IDs 1001, 1002, 1003, 1004, 1005, 1007, and 20074.

 
Other Information

Description of Jetpack.exe:

Windows 2000 Server includes Jetpack.exe for compacting the DHCP database and other Jet databases (such as WINS) when those databases are offline. Jetpack.exe compacts the DHCP database by copying database information to a temporary file, deleting the original DHCP database file, and then renaming the temporary database file to the original file name.

 
© 2000-2004 Microsoft Corporation, all rights reserved.

Element properties:

TargetMicrosoft.Windows.Server.DHCP.Microsoft_Windows_2000_DHCP_Servers_Installation
CategoryEventCollection
EnabledTrue
Event_ID20001
Event SourceDHCPServer
Alert GenerateTrue
Alert SeverityError
Alert PriorityLow
RemotableTrue
Alert Message
The DHCP server was unable to open the DHCP client database.

$Data/EventDescription$
Event LogSystem
CommentMom2005ID='{ED0EC70E-4E46-470C-8A5F-A8511F1F2DF5}';MOM2005ComputerGroupID={37B5AB26-6DE0-11D3-945C-0090275A5879}

Member Modules:

ID Module Type TypeId RunAs 
_907D4578_146C_11D3_AB21_00A0C98620CE_ DataSource Microsoft.Windows.EventProvider Default
CollectEventData WriteAction Microsoft.SystemCenter.CollectEvent Default
CollectEventDataWarehouse WriteAction Microsoft.SystemCenter.DataWarehouse.PublishEventData Default
GenerateAlert WriteAction System.Mom.BackwardCompatibility.AlertResponse Default

Source Code:

<Rule ID="The_DHCP_server_was_unable_to_open_the_DHCP_client_database._1_Rule" Target="Microsoft.Windows.Server.DHCP.Microsoft_Windows_2000_DHCP_Servers_Installation" Enabled="true" ConfirmDelivery="true" Comment="Mom2005ID='{ED0EC70E-4E46-470C-8A5F-A8511F1F2DF5}';MOM2005ComputerGroupID={37B5AB26-6DE0-11D3-945C-0090275A5879}">
<Category>EventCollection</Category>
<DataSources>
<DataSource ID="_907D4578_146C_11D3_AB21_00A0C98620CE_" Comment="{907D4578-146C-11D3-AB21-00A0C98620CE}" TypeID="WindowsLibrary!Microsoft.Windows.EventProvider">
<ComputerName>$Target/Host/Property[Type="WindowsLibrary!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<LogName>System</LogName>
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="Integer">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>20001</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>DHCPServer</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="GenerateAlert" TypeID="MomBackwardCompatibility!System.Mom.BackwardCompatibility.AlertResponse">
<AlertGeneration>
<GenerateAlert>true</GenerateAlert>
<Owner/>
<Description>
$Data/EventDescription$
</Description>
<AlertLevel>50</AlertLevel>
<ResolutionState/>
<Source>
$Data/PublisherName$
</Source>
<Name>The DHCP server was unable to open the DHCP client database.</Name>
</AlertGeneration>
<InvokerType>0</InvokerType>
</WriteAction>
<WriteAction ID="CollectEventData" TypeID="SystemCenterLibrary!Microsoft.SystemCenter.CollectEvent"/>
<WriteAction ID="CollectEventDataWarehouse" TypeID="DataWarehouseLibrary!Microsoft.SystemCenter.DataWarehouse.PublishEventData"/>
</WriteActions>
</Rule>