如果 DCPROMO 降级无法联系 DNS 基础结构主机,DCPROMO 降级将失败

本文解决了托管Active Directory 域服务(AD DS)或域控制器服务器角色的 Windows Server 计算机的降级问题。

原始 KB 数: 2694933

现象

托管 AD DS 或域控制器服务器角色的 Windows Server 计算机的正常降级失败。 你会看到以下屏幕错误:

标题栏文本:Active Directory 域服务安装向导
消息文本:
操作失败,因为:
Active Directory 域服务无法传输目录分区中的剩余数据
DC=DomainDNSZones,DC=<DNS domjain name> to Active Directory 域 Controller
用于服务降级的帮助程序 DC 的 \\<DNS 名称>
“目录服务缺少必需的配置信息,无法确定浮动单主操作角色的所有权。

DCPROMO 的相关部分。日志文件包含以下文本:

<date> <time> [INFO] Transferring operations master roles owned by this Active Directory Domain Controller in directory partition  
DC=DomainDnsZones,DC=contoso,DC=com to Active Directory Domain Controller \\<DNS name of helper DC...  
<date> <time>  [INFO] EVENTLOG (Warning): NTDS Replication / Replication : 2091

查看屏幕 DCPROMO 错误和 DCPROMO 中引用的 DNS 应用程序分区的基础结构对象和属性。日志:

Expanding base 'CN=Infrastructure,DC=DomainDnsZones,DC=contoso,DC=com'...  
Getting 1 entries:  
Dn: CN=Infrastructure,DC=DomainDnsZones,DC=contoso,DC=com  
cn: Infrastructure;  
distinguishedName: CN=Infrastructure,DC=DomainDnsZones,DC=contoso,DC=corp,DC=microsoft,DC=com;  
dSCorePropagationData: 0x0 = (  );  
fSMORoleOwner: CN=NTDS Settings\0ADEL:<NTDS Settings objet GUID>,CN=\<hostname of last DC to host the partition infrastructure role>,CN=Servers,CN=<active directory site name>,CN=Sites,CN=Configuration,DC=contoso,DC=com;  
instanceType: 0x4 = ( WRITE );  
isCriticalSystemObject: TRUE;  
name: Infrastructure;  
objectCategory: CN=Infrastructure-Update,CN=Schema,CN=Configuration,DC=contoso,DC=com;  
objectClass (2): top; infrastructureUpdate;  
objectGUID: <object guid>;  
showInAdvancedViewOnly: TRUE;  
systemFlags: 0x8C000000 = ( DISALLOW_DELETE | DOMAIN_DISALLOW_RENAME | DOMAIN_DISALLOW_MOVE );  
uSNChanged: <some USN #>;  
uSNCreated: <some USN #>;  
whenChanged: <date> <time>;  
whenCreated: <date> <time>;  

从示例域 CONTOSO.COM 获取的 LDAP 输出中的元素的区别包括:

  1. fSMORoleOwner 属性包含字符串 0ADEL,指示已删除拥有 DC 的 NTDS Settings 对象的角色。

  2. fSMORoleOwner 属性包含拥有 DC NTDS Settings 对象的 32 个字符的 alpha-numeric GUID,格式为 xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx。

  3. 为其分配属性的默认 DNS 应用程序分区的名称,该分区 fSMORoleOwner 具有已删除的 NTDS Settings 对象。 在这种情况下,错误引用了 DomainDNSZones。 对于 ForestDNSZones 应用程序分区,也可能出现此错误。

原因

当降级的域控制器无法将更改出站复制到拥有基础结构 FSMO 的 DC 或 DCPROMO [log] 错误中引用的分区的操作角色时,会发生此错误。

具体而言,降级尝试已中止,以防止数据丢失。 对于 DNS 应用程序分区,会阻止降级,以确保复制以下数据:

  • 实时和已删除的 DNS 记录
  • DNS 记录的 ACLS
  • 元数据,例如注册和删除日期

出现“症状”部分中错误的分区的 DN 路径包括:

  • CN=Infrastructures,DC=DomainDNSZones....
  • CN=Infrastructures,DC=ForestDNSZones....

解决方案

注意

将基础结构主机分配到 DNS 应用程序分区(如 DomainDNSZones)上的已删除 NTDSA 时,对于 ForestDNSZones 分区也可能丢失,反之亦然。 建议验证分配给实时 Windows Server 2003 或更高版本域控制器的 DomainDNSZones 和 ForestDNSZones 分区是否托管有问题的 DNS 服务器角色和分区。

若要解决此问题,请使用以下一种方法:

  1. 用于 ADSIEDIT.MSC 将属性的 fsMORoleOwner DN 路径分配给作为原始 FSMO 角色所有者的直接复制伙伴的实时 DC。 然后等待该更改复制到正在降级的 DC 的入站复制。

  2. KB949257的“解析”部分中运行脚本,以获取有关分区。

  3. 如果正在降级的 DC 无法针对有问题的目录分区进行入站复制更改,请运行 DCPROMO /FORCEREMOVAL 该命令以强制降级域控制器。

详细信息

DCPromo 尝试在每个本地保留的 NC 上进行出站复制更改,以便不会丢失唯一更改。 如果数据存储在 DNS 区域中,则 DCPROMO 会尝试出站将 DNS 区域的内容复制到 DNS 分区的基础结构主机中。

相关问题:

KB949257 描述了将一个或多个 DNS 应用程序分区的基础结构主机分配给已删除的 NTDSA 时命令失败的问题 ADPREP /RODCPREP