DHCP Server 2012 failed to initialize properly

Microsoft.Windows.DHCPServer.2012.IPv6Runtime.UnitMonitor.DatabaseCorrupt (UnitMonitor)

The Dynamic Host Configuration Protocol version 6 (DHCPv6) Server service is a process that runs in the background on a computer running Windows Server and that provides Internet Protocol version 6 (IPv6) addresses to clients. Dynamic Host Configuration Protocol (DHCP) can lease both Internet Protocol version 4 (IPv4) and Internet Protocol version 6 (IPv6) addresses. If IPv6 is not available, the DHCP service uses IPv4 only.

Knowledge Base article:

Summary

The Dynamic Host Configuration Protocol version 6 (DHCPv6) Server service is a process that runs in the background on a computer running Windows Server and that provides Internet Protocol version 6 (IPv6) addresses to clients.

Dynamic Host Configuration Protocol (DHCP) can lease both Internet Protocol version 4 (IPv4) and Internet Protocol version 6 (IPv6) addresses. If IPv6 is not available, the DHCP service uses IPv4 only.

Causes

DHCP failed to initialize one of its components. The DHCP Server service cannot start. Client computers cannot obtain new leases from the DHCP server and will not have network connectivity.

Resolutions

Resolution: Restore the DHCP database from a known good backup

If the DHCP server database becomes corrupted or is lost, recovery is possible by replacing the server database file (Dhcp.mdb), located in the %SystemRoot%\System32\Dhcp folder, with a backup copy of the same file.

If the DHCP Microsoft Management Console (MMC) snap-in was used previously to perform a backup, you can obtain the backup copy of the server database file located in the %SystemRoot%\System32\Dhcp\Backup folder. You can also restore the Dhcp.mdb file from a tape backup or other backup media.

To perform these procedures, you must be a member of the Administrators group, or you must have been delegated the appropriate authority.

To restore a backup copy of the DHCP database:

Additional

Verifier: DHCPv6 Server service is running

To verify that the DHCPv6 service is running:

Element properties:

TargetMicrosoft.Windows.DHCPServer.2012.IPv6Runtime
Parent MonitorSystem.Health.AvailabilityState
CategoryStateCollection
EnabledTrue
Alert GenerateTrue
Alert SeverityMatchMonitorHealth
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.Windows.SingleEventLogManualReset2StateMonitorType
RemotableTrue
AccessibilityPublic
Alert Message
DHCP server 2012 failed to initialize properly
The Dynamic Host Configuration Protocol version 6 (DHCPv6) Server service is a process that runs in the background on a computer running Windows Server and that provides Internet Protocol version 6 (IPv6) addresses to clients. Dynamic Host Configuration Protocol (DHCP) can lease both Internet Protocol version 4 (IPv4) and Internet Protocol version 6 (IPv6) addresses. If IPv6 is not available, the DHCP service uses IPv4 only.
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.Windows.DHCPServer.2012.IPv6Runtime.UnitMonitor.DatabaseCorrupt" Accessibility="Public" Enabled="true" Target="Microsoft.Windows.DHCPServer.2012.IPv6Runtime" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Windows!Microsoft.Windows.SingleEventLogManualReset2StateMonitorType" ConfirmDelivery="true">
<Category>StateCollection</Category>
<AlertSettings AlertMessage="Microsoft.Windows.DHCPServer.2012.IPv6Runtime.UnitMonitor.DatabaseCorrupt_AlertMessageResourceID">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Error" MonitorTypeStateID="EventRaised" HealthState="Error"/>
<OperationalState ID="Success" MonitorTypeStateID="ManualResetEventRaised" HealthState="Success"/>
</OperationalStates>
<Configuration>
<ComputerName>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<LogName>System</LogName>
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">10021</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">Microsoft-Windows-DHCP-Server</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</Configuration>
</UnitMonitor>