Service Pack 4 之后的 Ntfrs.exe 版本中解决的问题

本文已归档。它按“原样”提供,并且不再更新。
概要
本文介绍在 Windows 2000 Service Pack 4 (SP4) 之后的修补程序中对文件复制服务 (FRS) 的更改,这些更改提高了该服务的可靠性。在应用此修补程序之前,必须已安装 Windows 2000 SP4。此修补程序包含多个修补程序。

重要说明:Microsoft 发现此版本 NTFRS 中存在的一个问题并解决了此问题,随后使用同一名称重新发布了此修补程序:问题 811370。在某些情况下,Microsoft Excel (.xls) 文件被重命名为一个 8 位十六进制数字。此问题不会导致数据丢失。如果您正在处理被 NTFRS 监视的副本集内的 Excel 文件,可能会出现此问题。如果在副本集中打开 Excel 文件并编辑该文件,然后保存所做的更改,则 NTFRS 会将文件重命名为 8 个字符的十六进制名称(例如,CEA14500)。文件内容将被保留,但是文件名可能会在 FRS 副本集的一个或多个成员中更改。此 8 个字符的名称是 Excel 在编辑过程中创建的临时文件名。如果服务器使用的是 5.0.2195.6628 版的 Ntfrs.exe,可能会出现此问题。您可以通过查看 Ntfrs.exe 的属性来验证其版本。Microsoft 已在此 FRS 修补程序的最新版本中解决了此问题。包含此修补程序的新的 Ntfrs.exe 版本是 5.0.2195.6743。您可以与“Microsoft 产品支持服务 (PSS)”联系以索取此修补程序。为此,请访问下面的 Microsoft 网站:

有关最新的 Microsoft Windows 2000 Service Pack 的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
260910如何获取最新的 Windows 2000 Service Pack

此修补程序中解决的问题

  • “<StuInstallRename:420:1430: S3:00:00:00> :: CoG 91cc0f81, CxtG 847d1e73, FV 2, FID 00010000 00000026, FN:DirName , [Rename failed (ERROR_ACCESS_DENIED)]”错误消息的原因在于:当现有文件的 CO 是隐式重命名 CO 时,必须检查是否存在变体冲突。传入的 CO 最终将作为隐式重命名,但要等到像通常那样对其进行名称冲突检查以后。由于它是现有文件的 CO,因此没有对其进行变体冲突检查,而且没有生成变体。这是错误的。当该 CO 终止于 Install 中时,它仍然具有“DirName”名称。无法处理 Install 重命名,因为 DirName 阻止这么做。
  • 在 FRS 所创建的调试日志目录中,Everyone 组具有“完全控制”权限。Everyone 组还对调试日志具有“完全控制”权限。调试日志中包含的信息包括文件和文件夹名称以及其他与 FRS 操作有关的信息。不过,调试日志不包含有关被复制文件的内容的有用信息。在 FRS 所创建的其他目录(例如,Staging、Database、Pre-Install 和 Pre-Existing)中,只有 Administrators 组的成员被授予了访问权限。作为一项附加的安全措施,您可以更改调试日志目录的安全设置,以符合 FRS 所创建的其他目录的安全设置。本文介绍的修补程序还增加了调试日志目录的安全设置。
  • 需要有一种强制执行复制的机制,而不管预定计划如何。此功能已增加;您可以将此功能与新的 ntfrsutl forcerepl 命令配合使用。
  • FRS 事件日志中出现有关事件 ID 13508 警告的不完整信息。当日志中出现此消息时,您可能无法了解您必须执行的操作。
  • 每隔几分钟 FRS 就会停止工作,并且在事件日志中生成错误 13506 条目:
    Error 13505 STOPPED_ASSERT
    Info 13502 STOPPING
    Error 13555 IN_ERROR_STATE STRINGS:c:\winnt\ntfrs\jet
    Error 13506 ASSERT STRINGS:ChgOrdDispatch:| 7340 | COE_FLAG_ON(ChangeOrder, COE_FLAG_NEED_DELETE)
    Warn 13508 LONG_JOIN STRINGS:COMP1 | COMP2
    Info 13501 STARTING
    Error 13505 STOPPED_ASSERT
    Info 13502 STOPPING
    Error 13555 IN_ERROR_STATE
  • 为大型文件生成 Vvjoin 分段文件可能需要太长时间,并且导致获取请求超时。这可能会导致复制停止工作(挂起)。
  • 有些情况下,在您重新启动最近提升的域控制器后,该域控制器会立即将它的 Sysvol 标记为就绪,并且在副本集根目录中存在文件系统策略之前将 Sysvol 作为域控制器公布。
  • 由于 FRS 中存在句柄泄漏导致 WMI 泄漏内存。
  • NTFS 日志大小的增加。FRS 使用 NTFS 文件系统日志在文件发生更改时得到提醒。如果日志被覆盖,FRS 将无法跟踪它需要复制的更改。您必须执行非授权还原操作。为了减少日志折叠的可能性,NTFS 日志大小已增加到了 512 MB。

本文中使用的术语表

更改顺序 (CO)

当对副本成员中的文件或文件夹进行更改时,将使用有关该项更改的信息(例如,文件名或成员 ID)构建一条消息,该消息被称为“更改顺序”。更改顺序被发送给该成员的出站伙伴。如果这些伙伴决定接受更改,它们将请求关联的分段文件。当这些伙伴在各自的副本树中安装此项更改后,它们会将更改顺序传播给它们的出站伙伴。

文件 GUID

文件 GUID 可标识文件或文件夹。它由复制服务创建和管理。它与复制版本号及事件的发生时间一起存储在 FRS 数据库的 File ID 表中。所有副本集成员中的对应文件和文件夹都具有相同的文件 GUID。

文件 ID 表

这是 FRS 数据库中的一个表,对于副本树中的每个文件和文件夹,它都包含一个条目,其中含有版本及标识信息。

文件复制服务

FRS 是一个多线程、多主机复制引擎。基于 Windows 2000 的域控制器和服务器使用 FRS 来复制运行 Windows 2000 及更低版本 Microsoft Windows 的客户机的系统策略和登录脚本。FRS 还可以在承载相同的容错“分布式文件系统”(DFS) 根目录或链接副本的基于 Windows 2000 服务器之间复制内容。

基于标识的复制

副本树中的所有对象都分配有一个唯一的 ID。在 FRS 中,NTFS 文件系统已使用包含 16 字节 GUID 的对象 ID 属性。所有副本成员中的相同对象都具有相同的对象 ID。这可以通过使用对象的 GUID 以及相应的父 GUID,获取明确的对象位置信息。

复制伙伴

副本成员的直接上游伙伴和下游伙伴称为它的复制伙伴。上游伙伴又称为入站伙伴。下游伙伴又称为出站伙伴。

复制集

FRS 中的两台或多台经过配置可复制文件夹内容的计算机。每台计算机都称为副本成员。

更新序列号

NTFS 文件系统为每个卷维护一个单调递增序列号,称为更新序列号 (USN)。每次对卷上的文件进行修改时,USN 将会增加。

版本向量

这是 USN 的向量,每个副本集成员都有一项。所有更改顺序都携带有发起成员的发起方 GUID 和关联的 USN。由于每个副本集成员都会接收更新,因此它会在分配给发起成员的向量槽中跟踪 USN。该向量说明副本树是否与各个成员保持一致。

当这两个成员联接在一起时,还会向该入站伙伴传递该版本向量。当创建新连接时,将使用版本向量来扫描 File ID 表以查找新的出站伙伴没有看到的较新的更新。

要在 DCOM 中设置匿名远程权限,请在运行 SMS 控制台的基于 Microsoft Windows XP Service Pack 2 (SP2) 的计算机上按照下列步骤操作:
  1. 单击“开始”,单击“运行”,在“打开”框中键入 dcomcnfg.exe,然后单击“确定”
  2. 找到“控制台根目录”节点,展开“组件服务”,然后展开“计算机”
  3. 右键单击“我的电脑”,然后单击“属性”
  4. 在“我的电脑属性”中,单击“COM 安全”选项卡。
  5. 在“访问权限”中,单击“编辑限制”,然后选择“匿名登录”
  6. 在“匿名登录权限”下,单击选中“远程访问”的“允许”设置。
  7. 单击“确定”两次。
  8. 重新启动计算机。
.
解决方案

Service Pack 信息

要解决此问题,请获取最新的 Microsoft Windows 2000 Service Pack。有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
260910 如何获取最新的 Windows 2000 Service Pack

修补程序信息

Microsoft 推出了一种可修改产品默认行为的受支持功能。但是,此功能仅用于修改本文所述的现象。请仅在特别需要此功能的系统中应用。

如果可以下载此功能,此知识库文章顶部将存在“提供修补程序下载”部分。如果此部分不存在,请联系 Microsoft 客户支持服务部门以获取该功能。

注意:如果发生其他问题或需要进行任何疑难解答,您可能需要另行创建服务请求。对于此特定功能无法解决的其他支持问题和事项,将照常收取支持费用。有关 Microsoft 客户支持服务部门的电话号码的完整列表,或者另行创建服务请求,请访问下面的 Microsoft 网站:注意:“提供修补程序下载”窗体显示了功能提供的语言。如果找不到需要的语言,则说明功能没有那种语言的版本。 此修补程序的英文版具有下表中列出的文件属性(或更新的属性)。这些文件的日期和时间以协调世界时 (UTC) 格式列出。当您查看文件信息时,该时间将转换为本地时间。要了解 UTC 与本地时间之间的时差,请使用“控制面板”中的“日期和时间”工具中的“时区”选项卡。
   日期         时间   版本        大小     文件名   --------------------------------------------------------------07-May-2003  19:14  5.0.2195.6743     745,232  Ntfrs.exe15-May-2003  22:31  5.0.2195.6743      56,080  Ntfrsapi.dll15-May-2003  22:31  5.0.2195.6743      22,288  Ntfrsprf.dll07-May-2003  19:14  5.0.2195.6743      40,720  Ntfrsutl.exe
注意:Windows 2000 SP4(版本 5.0.2195.6709)升级了 Ntfrs.exe 的旧版本 (5.0.2195.6628),该旧版本中存在本文先前描述的与 .xls 文件有关的问题。Windows 2000 SP4 不会替代已经包含针对 .xls 的修补程序的、最新版本的 Ntfrs.exe(版本 5.0.2195.6743)。如果您具有版本 5.0.2195.6743,也就同时具有了 Ntfrs.exe 的当前和最新版本。在您应用 SP4 后,此 Ntfrs.exe 版本不会更改。注意:安装此修补程序后,必须重新启动计算机。如果不想重新启动计算机,则在安装此修补程序之前,必须手动停止文件复制服务。如果您执行此操作,则在安装此修补程序后,必须手动重新启动文件复制服务。

重要说明:此修补程序将默认的日志大小从 32 MB 增加到 512 MB。因此,您必须手动设置相应的注册表项以避免该项增加,或者确保您具有足够的磁盘空间来容纳此项更改。有关设置相应注册表项的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
221111注册表中的 FRS 条目说明
状态
Microsoft 已经确认这是在“适用于”部分中列出的 Microsoft 产品中存在的问题。 此问题最早在 Microsoft Windows 2000 Service Pack 4 中得到解决。
参考
有关相关主题的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
811217 Ntfrs.exe Post-Service Pack 3 中的改进
属性

文章 ID:811370 - 上次审阅时间:02/26/2014 18:16:06 - 修订版本: 10.2

  • Microsoft Windows 2000 Advanced Server SP4
  • Microsoft Windows 2000 Server SP4
  • kbnosurvey kbarchive kbautohotfix kbhotfixserver kbqfe kbwin2ksp4fix kbfrs kbactivedirectory kbfix kboswin2000fix kbwin2000sp3fix kbwin2000presp4fix KB811370
反馈