在 Windows 2000 Server SP3 或更早版本中出现“域控制器未能获取一个新的标识号池”错误事件

文章翻译 文章翻译
文章编号: 316201 - 查看本文应用于的产品
重要说明:本文包含有关修改注册表的信息。修改注册表之前,一定要先进行备份,并且一定要知道在发生问题时如何还原注册表。有关如何备份、还原和编辑注册表的信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
256986 Microsoft Windows 注册表说明
展开全部 | 关闭全部

本文内容

症状

如果本地 RID 池用完,但又无法从 RID 操作主机获得新 RID 池,Windows 2000 域控制器就可能无法创建用户帐户、计算机帐户或安全组。尝试执行 LDAP 查询或身份验证请求的网络客户端将不能发现域控制器。

倘若与 RID 操作主机的网络连接能力足够强大,那么,除非 RID 使用量相当高,否则域控制器不会遇到这种情形。例如,如果安全主体的创建速度超过了域控制器从 RID 操作主机获得新 RID 池的能力,域控制器将暂时不能为安全主体的创建提供服务。在成功获取 RID 池后,此情形将结束,安全主体创建将会继续。

对于不能获取新 RID 池的域控制器,目录服务事件日志中将记录事件 16645(还可能包括事件 16651)。这两个事件的消息文本分别是:

事件 16645


The maximum account identifier allocated to this domain controller has been assigned.The domain controller has failed to obtain a new identifier pool.A possible reason for this is that the domain controller has been unable to contact the master domain controller.Account creation on this controller will fail until a new pool has been allocated.There may be network or connectivity problems in the domain, or the master domain controller may be offline or missing from the domain.Verify that the master domain controller is running and connected to the domain.

事件 16651

The request for a new account-identifier pool failed.The operation will be retried until the request succeeds.The error is %n " %1 "

原因

Active Directory 中的用户、计算机和组统称为“安全主体”。安全主体会被分配一个唯一的叫做安全标识符 (SID) 的字母数字字符串。安全主体的 SID 由一个域范围的 SID 和一个具有唯一性的相对标识符 (RID) 串接而成。RID 是在创建安全主体时由域中的一个 Windows 2000 域控制器分配的。

各域控制器维护着从 RID 操作主机上的全局池获得的本地 RID 池。默认情况下,RID 池是以 500 这一增量获取的。当 RID 池剩余 20% 时,Windows 2000 域控制器将请求一个新 RID。E-commerce 文件夹或大规模 ADMT 迁移环境中的域控制器可能在很短的时间内创建大量的安全主体。与传统的企业部署相比,这可能会更快地用完其本地 RID 池。

当域控制器的本地 RID 池用完但又由于域控制器自身的问题而无法从 RID 操作主机上获取新池时,就会出现问题。RID 操作主机、网络以及域控制器于是将无法创建更多的安全主体,并停止公布域控制器服务,直到获得一个新的本地池为止。

为了减少这种丢失服务的可能性,管理员可以通过在域控制器上调整 REG_DWORD RID Block Size 值来增加由 RID 操作主机在每个池中分配的 RID 的数量,此值位于以下注册表项中:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTDS\RID Values\
然而,由于 RID 阈值比较逻辑的缺陷,超过 500 的“RID Block Size”(RID 块大小)值实际上会被忽略,并返回默认的分配值 500。

解决方案

警告:注册表编辑器使用不当可导致严重问题,可能需要重新安装操作系统。Microsoft 不能保证您可以解决因注册表编辑器使用不当而导致的问题。使用注册表编辑器需要您自担风险。

在 Windows 2000 Service Pack 4 (SP4) 中,域控制器开始请求新 RID 池的阈值增加到了 50%。例如,一个默认 RID 块大小为 500 的域控制器在使用了 250(500 的50%)个 RID 时将开始请求一个新池。RID 块大小同样是 500 的、SP4 以前的域控制器将在剩下 100(默认的 500 RID 这一块大小的 20%)个 RID 时请求一个新池。

这一改变意味着域控制器在默认设置下对 RID 主机临时不可用的应变能力略有提高,而且管理员可以配置 RID 池的大小。注意,对于每个域而言,全局 RID 空间,以及您能够创建的用户、计算机和组的数目都是有限的(约有 2^30 个 RID)。在域范围的 RID 池用完之后,将不能在域中创建新的安全主体。因此,增加“RID 块大小”有一定的风险。例如,每当通过正常或强制降级解除某个域控制器时,或者在出现硬件故障时,其 RID 将全部丢失。类似地,每当从备份中还原一个域控制器时,其 RID 将全部失效,这样有助于防止将同一个 RID 分配给一个以上的用户帐户。

就保持默认 RID 值而言,面向外部的目录配置是一个明显的例外。在这些配置中,安全主体的创建量较高,RID 空间非常集中(因为只需要很少的域控制器),而且正常运行时间往往等于为帐户创建提供服务的能力。因此,往往以 RID 操作主机不可用后能够继续创建安全主体的时间长短或能创建的安全主体的多少来衡量可用性。如果分配到本地的 RID 的平均数较大,则这一时间就可以大大增加。

对于面向外部的部署配置,或有特殊需要的其他部署,块大小将作为一个配置参数公开。Windows 2000 SP4 和 Windows Server 2003 系列公开了一个能够用来增加 RID 池大小的注册表配置。这就使每个域控制器能够在不与 RID 操作主机联系的情况下创建更多的安全主体。

在 Active Directory 部署为一个一般用途的 NOS 目录时,改变 RID 块大小的默认值毫无益处。在这类情况下,Microsoft 建议使用默认配置。

如果您决意要使用一个不同的 RID 块大小,只有 RID 操作主机上配置了此更改。不过,为简化对此设置的管理,可在目标域中所有的域控制器上以完全相同的方式配置此值。这样,如果 RID 操作主机转移到另一个域控制器,无须另外更新即可让 RID 块大小保持一致,而且“系统状态还原”将不会误覆盖特意的设置。

RID 操作主机使用下面的注册表设置来确定向发出请求的域控制器返回的 RID 池的大小,包括 RID FSMO 上本地 RID 池的 RID:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTDS\RID Values\ RID Block Size (REG_DWORD)
系统将自动创建此注册表项,且它的初始值为 0。在此状态下,将使用内部默认值 500。将此值设置为小于 500 将不起作用,仍将使用默认设置。对最大块大小没有强制限制,但是,太大的值将会对域的使用寿命产生负面影响。

状态

Microsoft 已经确认这是在本文开头列出的 Microsoft 产品中存在的问题。

属性

文章编号: 316201 - 最后修改: 2005年7月11日 - 修订: 4.2
这篇文章中的信息适用于:
  • Microsoft Windows 2000 Advanced Server SP3
  • Microsoft Windows 2000 Advanced Server SP2
  • Microsoft Windows 2000 Advanced Server SP1
  • Microsoft Windows 2000 Service Pack 3
  • Microsoft Windows 2000 Server SP2
  • Microsoft Windows 2000 Server SP1
关键字:?
kbwin2ksp4fix kbsecurity kbbug kbfix kbwin2000presp4fix KB316201
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com