不久前,我将我们的 DNS 服务器(运行 2003)从成员服务器升级为域控制器,以便可以启用 AD 集成 DNS。我经常在日志中看到错误 9906(事件 ID 4512)。错误消息的正文是:
The DNS server was unable to create the built-in directory partition ForestDnsZones.sub.domain.com.The error was 9906.
根据我目前所读到的内容,人们似乎指出这是服务器无法找到 FSMO 角色持有者的问题。但是,这似乎与我的情况不同,因为所有域控制器都成功通过了所有测试。我没有看到任何明显的原因,但我能够使用 ADSIEdit 找出应用程序分区中的一个旧值。
运行dcdiag /test:crossrefvalidation
,结果为:
Starting test: CrossRefValidation
This cross-ref has a non-standard dNSRoot attribute.
Cross-ref DN:
CN=0e4820e2-35e2-4fcf-bae9-789ca2003a6b,CN=Partitions,CN=Configuration,DC=sub,DC=domain,DC=com
nCName attribute (Partition name):
DC=ForestDnsZones,DC=sub,DC=domain,DC=com
Bad dNSRoot attribute: xxxx.xxxxx.sub.domain.com
Check with your network administrator to make sure this dNSRoot
attribute is correct, and if not please change the attribute to the
value below.
dNSRoot should be: ForestDnsZones.sub.domain.com
It appears this partition
(DC=ForestDnsZones,DC=sub,DC=domain,DC=com) failed to get
completely created. This cross-ref
(CN=0e4820e2-35e2-4fcf-bae9-789ca2003a6b,CN=Partitions,CN=Configuration,DC=sub,DC=domain,DC=com)
is dead and should be removed from the directory.
......................... ForestDnsZones failed test
CrossRefValidation
我怀疑这xxxxx.xxxxx.sub.domain.com
是以前的一位管理员创建的旧域中的条目。
我在看这线程并使用 ADSIEdit 查看了配置分区,事实上我可以看到分区的 dnsRoot 值DC=ForestDnsZones,DC=sub,DC=domain,DC=com
是xxxxx.xxxxx.sub.domain.com
。
这很奇怪,因为我在 DNS 控制台的任何地方都没有看到对 xxxx.xxxxx 的任何引用。
因此问题是:
xxxxx.xxxxx.sub.domain.com
使用 ADSIEdit 将 dnsRoot 值从 更改为是否安全ForestDnsZones.sub.domain.com
?- 如果我可以这样做,那么旧 ID 附加到新值上会是个问题吗?
- 有没有一种干净的方法可以删除任何此类旧引用并重新创建 ForestDnsZones 记录?
答案1
- 转移角色 FSMO
- 尝试再次创建区域
答案2
对我来说,解决方案是使用配置分区下的 ADSIEdit 删除 ForestDNSZones 和 DomainDNSZones 的两个 crossRef 对象。然后我重新启动了 Netlogon 和 DNS 服务器,它们被重新创建。
至于修改 dnsRoot 值...这不起作用。我无法用新值替换旧值。