Active Directory 复制错误 8456 或 8457:源 |目标服务器当前拒绝复制请求

本文介绍 Active Directory 操作失败并出现错误 8456 或 8457 的情况的症状、原因和解决方法步骤。

适用于: Windows Server(所有支持的版本)
原始 KB 数: 2023007

注意

家庭用户: 本文仅适用于技术支持代理和 IT 专业人员。 如果你正在寻找解决问题的帮助, 请询问Microsoft社区

现象

Active Directory 操作失败,出现错误 8456 或 8457:源 |目标服务器当前拒绝复制请求。

  1. 现有林中新域控制器的 DCPROMO 升级失败并出现错误:源服务器当前拒绝复制请求。

    对话框标题文本:Active Directory 安装向导对话框消息文本:

    操作失败,因为:Active Directory 无法将目录分区 <目录分区 DN 路径> 中的剩余数据传输到域控制器 <目标 DC>。 “源服务器当前正在拒绝复制请求。

  2. DCDIAG 报告错误: 源服务器当前正在拒绝复制请求 ,或者 目标服务器当前拒绝复制请求

    测试服务器:Default-First-Site-Name<DC NAME>
    开始测试:复制
    * 复制检查
    [复制检查,<DC 名称>] 最近的复制尝试失败:
    从 <源 DC> 到 <DC 名称>
    命名上下文:分区的 DC=<DN 路径>
    复制生成了错误(8456):
    源服务器当前拒绝复制请求。
    失败发生在 <日期><时间>。
    上次成功发生在 <日期><时间>。
    自上次成功以来,发生了 957 次失败。
    通过服务器选项显式禁用复制

    测试服务器:Default-First-Site-Name<DC NAME>
    开始测试:复制
    * 复制检查
    [复制检查,<DC 名称>] 最近的复制尝试失败:
    从 <源 DC> 到 <DC 名称>
    命名上下文:分区的 DC=<DN 路径>
    复制生成了错误(8457):
    目标服务器当前拒绝复制请求。
    失败发生在 <日期><时间>。
    上次成功发生在 <日期><时间>。
    自上次成功以来,发生了 957 次失败。
    通过服务器选项显式禁用复制

  3. REPADMIN 指示传入和传出 Active Directory 复制可能失败并出现错误:源 |目标服务器当前拒绝复制。

    DC=Contoso,DC=COM
    <通过 RPC 的站点名称><dc 名称>
    DC 对象 GUID: <源 DC NTDS 设置对象的 objectguid>
    上次尝试 @ <日期><时间> 失败,结果 8457 (0x2109):
    目标服务器当前拒绝复制请求。

    DC=Contoso,DC=COM
    <通过 RPC 的站点名称><dc 名称>
    DC 对象 GUID: <源 DC NTDS 设置对象的 objectguid>
    上次尝试 @ <日期><时间> 失败,结果 8456 (0x2108):
    源服务器当前拒绝复制请求。

    注意

    REPADMIN 命令可以同时显示当前拒绝复制错误的十六进制和等效的小数。

  4. 指示 USN 回滚已发生的事件源和事件 ID 包括但不限于以下内容。

    事件源 事件 ID 事件字符串
    NTDS KCC 1308 知识一致性检查器(KCC)检测到连续尝试使用以下域控制器进行复制失败。
    NTDS KCC 1925 尝试为以下可写目录分区建立复制链接失败。
    NTDS KCC 1926 尝试建立指向具有以下参数的只读目录分区的复制链接失败
    NTDS 复制 1586 PDC 模拟器主服务器的 Windows NT 4.0 或更早版本的复制检查点未成功。 如果 PDC 模拟器主角色在下一个成功检查点之前将 PDC 模拟器主角色传输到本地域控制器,则安全帐户管理器 (SAM) 数据库与运行 Windows NT 4.0 及更早版本的域控制器完全同步可能会发生。 检查点过程将在四小时内再次尝试。
    NTDS 复制 2023 本地域控制器无法将以下目录分区的更改复制到以下远程域控制器。
    Microsoft-Windows-ActiveDirectory_DomainService 2,095 在Active Directory 域服务复制请求期间,本地域控制器(DC)标识了远程 DC,该 DC 已使用已确认的 USN 跟踪号码从本地 DC 接收复制数据。
    Microsoft-Windows-ActiveDirectory_DomainService 2103 Active Directory 域服务数据库是使用不支持的还原过程还原的。 此条件仍然存在时,Active Directory 域服务将无法登录用户。 因此,Net Logon 服务已暂停。

    其中嵌入的状态代码 8456 和 8457 映射到以下内容。

    十进制错误 十六进制错误 错误字符串
    8456 2108 源服务器当前拒绝复制
    8457 21:09 目标服务器当前拒绝复制
  5. NTDS 常规事件 2013 可能在目录服务事件日志中记录。 这表示发生 USN 回滚是因为 Active Directory 数据库不受支持的回滚或还原。

    事件类型:错误
    事件源:NTDS 常规
    事件类别:服务控制
    事件 ID:2103
    日期:<date>
    时间: <时间>
    用户: <用户名>
    计算机: <计算机名称>
    说明:Active Directory 数据库已使用不受支持的还原过程进行还原。 此条件仍然存在时,Active Directory 将无法登录用户。 因此,Net Logon 服务已暂停。 有关详细信息,请参阅以前的事件日志。 有关详细信息,请访问“帮助和支持中心”。https://support.microsoft.com

  6. NTDS 常规事件 1393 可能在目录服务事件日志中记录。 这表示托管 Active Directory 数据库或日志文件的物理或虚拟驱动器缺少足够的可用磁盘空间:

    事件类型:错误
    事件源:NTDS 常规
    事件类别:服务控制
    事件 ID:1393
    日期:<date>
    时间: <时间>
    用户: <用户名>
    计算机: <计算机名称> 说明:
    尝试更新目录服务数据库失败,错误 112。 由于 Windows 在保持此条件时无法登录用户,因此 NetLogon 服务正在暂停。 M ake 确保目录数据库和日志文件所在的驱动器上有足够的可用磁盘空间。

原因

由于多种根本原因,操作系统会自动禁用传入或传出复制。

禁用入站或出站复制的三个事件包括:

  • 发生 USN 回滚(NTDS 常规事件 2103)。
  • 硬盘已满(NTDS 常规事件 1393)。
  • 存在损坏的 UTD 矢量(事件 2881)。

当发生三个条件之一时,操作系统会自动进行四个配置更改。 四项配置更改如下所示:

  1. 禁用传入 Active Directory 复制。
  2. 已禁用传出 Active Directory 复制。
  3. DSA 不可 写设置为注册表中的非零值。
  4. NETLOGON 服务状态已从 正在运行 更改为 已暂停

此错误条件的主要根本原因是 Windows Server 域控制器记录目录服务事件 2095 中 发生 USN 回滚时讨论的 USN 回滚

不要假定 DSA 的任何非零值 不可写 ,或者源或目标服务器当前在 DCPROMO/AD 复制期间拒绝复制请求,这明确意味着已发生 USN 回滚,并且此类域控制器隐式必须强制降级或强制重新部署。 降级是正确的选项。 但是,当错误是由可用磁盘空间不足引起的时,它可能会过多。

解决方法

  1. 检查 DSA 的值 不可写

    对于记录 8456 或 8457 错误的每个域控制器,请通过从本地注册表读取“DSA 不可写”的值来确定这三个触发事件之一是否自动禁用传入或传出 Active Directory 复制。

    自动禁用复制后,操作系统会将四个可能值 之一写入 DSA 不可写:

    • 路径:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\NTDS\Parameters
    • 设置:DSA 不可写
    • 类型:Reg_dword
    • 值:
      • #define DSA_WRITABLE_GEN 1
      • #define DSA_WRITABLE_NO_SPACE 2
      • #define DSA_WRITABLE_USNROLLBCK 4
      • #define DSA_WRITABLE_CORRUPT_UTDV 8

    仅当林版本与 OS 不兼容(例如,W2K DC 提升为 Windows Server 2003 林功能级别林等)时,才能写入值 1。

    值为 2 表示托管 Active Directory 数据库或日志文件的物理或虚拟驱动器缺少足够的可用磁盘空间。

    值为 4 表示发生 USN 回滚,因为 Active Directory 数据库在时间上错误地回滚。 已知导致 USN 回滚的操作包括:

    • 从以前保存的 Hyper-V 或 VMWARE 主机上域控制器角色计算机的虚拟机快照启动。
    • 包含多个域控制器的林中的物理到虚拟 (P2V) 转换不正确。
    • 使用映像产品(如 Ghost)还原 DC 角色计算机。
    • 使用高级磁盘子系统将托管 Active Directory 数据库的分区的内容滚动回一次。

    值为 8 表示本地 DC 上已损坏最新的向量。

    从技术上说, DSA 不可 写可以包含多个值。 例如,注册表值为 10 表示磁盘空间不足,UTD 已损坏。 通常,单个值写入 DSA 不可写

    注意

    支持专业人员和管理员通常通过启用传出复制、启用传入复制、将 NETLOGON 服务的启动值从禁用更改为自动以及启动 NETLOGON 服务来部分禁用复制隔离。 因此,检查完整隔离配置时可能未到位。

  2. 检查目录服务事件日志中是否有隔离事件。

    假设目录服务事件日志尚未包装,你可能会发现记录在域控制器的目录服务事件日志中记录的一个或多个相关事件,该事件日志记录了 8456 或 8457 错误。

    事件 详细信息
    NTDS 常规 2103 Active Directory 数据库是使用不支持的还原过程还原的。 此条件仍然存在时,Active Directory 将无法登录用户。 因此,Net Logon 服务已暂停。 有关详细信息,请参阅以前的事件日志。
    NTDS 常规事件 1393 磁盘上没有足够的空间。
    事件 2881 不适用
  3. 根据不可写 DSA 的值或系统记录的事件执行恢复:

    • 如果 DSA 不可写 等于 4 或记录 NTDS 常规事件 2103,请执行 USN 回滚的恢复步骤。 有关详细信息,请参阅 Windows Server 域控制器在遇到 USN 回滚时记录目录服务事件 2095。

    • 如果 DSA 不可写 等于 2,或者记录 NTDS 常规事件 1393,请检查托管 Active Directory 数据库和日志文件的物理分区和虚拟分区上是否有足够的可用磁盘空间。 根据需要释放空间。

    • 如果 DSA 不可写 等于 8,请降级域控制器,然后重新编写域控制器,然后才能将其错误值复制到林中的其他域控制器。

数据收集

如果需要Microsoft支持方面的帮助,建议按照使用 TSS 收集 Active Directory 复制问题的信息中所述的步骤收集信息。