避免 USN 回滚

如果域有两个或更多域控制器,且您需要恢复其中一个控制器或其数据库,请考虑对 USN 回滚采取操作。

当您从基于 VSS 的磁盘级备份恢复整个域控制器时,可能会发生 USN 回滚。

USN 回滚极有可能在出现以下任一情况时发生:

以下信息将帮助您通过采取几个简单步骤来避免 USN 回滚。

复制和 USN

域控制器之间会经常复制 Active Directory 数据。在任何指定时间,同一 Active Directory 对象可能在一个域控制器中存在一个新一些的版本,在另个域控制器中存在一个旧一些的版本。为了防止冲突和信息丢失,Active Directory 会跟踪各个域控制器中的对象版本并用最新版本替换过时版本。

为了跟踪对象版本,Active Directory 会使用被称为“更新序号”(USN) 的编号。较新的 Active Directory 对象版本与较高的 USN 对应。每个域控制器都保留了所有其他域控制器的 USN。

USN 回滚

在对域控制器或其数据库执行了非授权的还原操作后,该域控制器的当前 USN 将被备份中的旧(低)USN 取代。但其他域控制并不知道此更改。它们仍然保留了该域控制器已知的最新(高)USN。

因此,将出现以下问题:

要避免 USN 回滚,您需要通知域控制器已恢复它的事实。

避免 USN 回滚

  1. 在恢复域控制器或其数据库之后,立即启动恢复的域控制器并在启动过程中按 F8。
  2. 高级启动选项屏幕中,选择目录服务还原模式,然后登录到“目录服务还原模式 (DSRM)”。
  3. 打开“注册表编辑器”,然后展开以下注册表项:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTDS\Parameters

  4. 在该注册表项中,检查 DSA 此前的还原计数值。如果存在该值,请记下其设置。如果该值不存在,请勿添加该值。
  5. 将以下值添加至该注册表项:
  6. 在正常模式中重新启动域控制器。
  7. [可选] 在重新启动域控制器后,打开“事件查看器”,展开应用程序和服务日志,然后选择目录服务日志。在目录服务日志中,查找事件 ID 1109 的最新条目。如果找到此条目,请对其双击以确保更改了 InvocationID 属性。这意味着 Active Directory 数据库已更新。
  8. 打开“注册表编辑器”,验证 DSA 此前的还原计数值中的设置与步骤 4 中比较是否增加了 1。如果步骤 4 中没有 DSA 此前的还原计数值,请验证该值现在是否存在,其值是否为 1

    如果您看到了不同的设置(并且您无法找到事件 ID 1109 的条目),请确保恢复的域控制器具有最新的服务包,然后重复整个过程。

有关 USN 和 USN 回滚的更多详情,请参阅以下 Microsoft Technet 文章:http://technet.microsoft.com/en-us/library/virtual_active_directory_domain_controller_virtualization_hyperv.aspx