Microsoft Windows Server DNS 配置区域创建失败

Microsoft.Windows.DNSServer.2016.Configuration.ZoneCreationFailed (Rule)

配置的警报生成规则。

Knowledge Base article:

摘要

DNS 服务器配置不仅包含用于确定 DNS 服务器将如何在网络上工作的设置,而且还可指定如何存储这些设置以及在需要它们时如何检索这些设置。

原因

DNS 服务器无法在文件中创建区域。

解决方法

检查区域文件

标准区域和主要区域(即未与 Active Directory 域服务(AD DS)集成的区域)将区域信息存储在一个文件中。如果此文件丢失或损坏,则 DNS 服务器将无法加载相关区域。

检查区域对应的区域文件是否存在于 %SystemRoot%\System32\Dns 目录中。如果文件不存在,请删除区域并使用服务器管理器重新创建。

使用注册表编辑器确定以下注册表项中是否存在该区域文件对应的项:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\DNS Server\Zones\zone\DatabaseFile

如果不存在区域文件的注册表项,请更新注册表中的区域文件名称,或者删除注册表中的区域并使用服务器管理器进行重新创建。

更新注册表中的区域文件名称

若要修改或删除注册表中的区域文件名称,请执行以下操作:

警告:注册表编辑不当可能导致严重损坏你的系统。在对注册表进行更改之前,应备份任何重要数据。

1.在 DNS 服务器上,启动注册表编辑器。要启动注册表编辑器,请依次单击“开始”、“运行”,键入 regedit,然后单击“确定”。

2.在控制台树中,导航至以下注册表项:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\DNS Server\Zones\zone\DatabaseFile

3.右键单击 ListAddresses,然后单击“删除”。

4.在服务器管理器中,右键单击 DNS 服务器,单击“所有任务”,然后单击“重新启动”。

如果区域文件存在并已在注册表中正确标识,则表明 DNS 服务器无法分析区域文件。检查区域文件是否包含有效数据。可以使用“记事本”或其他文本编辑器来检查并更正区域文件的内容。

在更正或删除区域文件中的项之前,请在事件日志中检查区域文件的准确名称和行号。

删除区域并使用服务器管理器进行重新创建

若要删除注册表中的区域,请执行以下操作:

警告:注册表编辑不当可能导致严重损坏你的系统。在对注册表进行更改之前,应备份任何重要数据。

1.在 DNS 服务器上,启动注册表编辑器。要启动注册表编辑器,请依次单击“开始”、“运行”,键入 regedit,然后单击“确定”。

2.在控制台树中,导航至以下注册表项:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\DNS Server\Zones\

3.右键单击该区域的注册表项,然后单击“删除”。

若要使用服务器管理器来重新创建区域,请执行以下操作:

1.在 DNS 服务器上,启动服务器管理器。若要启动服务器管理器,请依次单击“开始”、“管理工具”和“服务器管理器”。

2.在控制台树中,依次展开“角色”、“DNS 服务器”和“DNS”。

3.展开 DNS 服务器,然后展开包含该区域的文件夹。

4.右键单击该区域,然后单击“删除”。

注意:如果使用此方法无法删除该区域,则必须使用注册表编辑器来删除该区域的注册表项。

5.右键单击该文件夹,然后单击“新建区域”。

6.按照向导中的说明重新创建区域。

外部

http://technet.microsoft.com/en-us/library/dd349641(v=ws.10).aspx

Element properties:

TargetMicrosoft.Windows.DNSServer.2016.Server
CategoryAlert
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
RemotableTrue
Alert Message
Windows DNS - 配置 - 区域创建失败

事件 ID:{0}
事件源:{1}
事件日志:{2}
事件说明:{3}
Event LogDNS Server

Member Modules:

ID Module Type TypeId RunAs 
DS DataSource Microsoft.Windows.EventProvider Default
Alert WriteAction System.Health.GenerateAlert Default

Source Code:

<Rule ID="Microsoft.Windows.DNSServer.2016.Configuration.ZoneCreationFailed" Enabled="true" Target="Microsoft.Windows.DNSServer.2016.Server" ConfirmDelivery="true" Remotable="true" Priority="Normal" DiscardLevel="100">
<Category>Alert</Category>
<DataSources>
<DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<LogName>DNS Server</LogName>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">1201</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="Alert" TypeID="Health!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>2</Severity>
<AlertName/>
<AlertDescription/>
<AlertOwner/>
<AlertMessageId>$MPElement[Name="Microsoft.Windows.DNSServer.2016.Configuration.ZoneCreationFailed.AlertMessage"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/EventDisplayNumber$</AlertParameter1>
<AlertParameter2>$Data/EventSourceName$</AlertParameter2>
<AlertParameter3>$Data/Channel$</AlertParameter3>
<AlertParameter4>$Data/EventDescription$</AlertParameter4>
</AlertParameters>
<Suppression>
<SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
</Suppression>
<Custom1/>
<Custom2/>
<Custom3/>
<Custom4/>
<Custom5/>
<Custom6/>
<Custom7/>
<Custom8/>
<Custom9/>
<Custom10/>
</WriteAction>
</WriteActions>
</Rule>