存储在 Windows 7 和 Windows Server 2008 R2 中的脱机存储区的文件 I/O 操作超时

症状

请考虑以下情形:

  • 您必须使用可移动存储 (如磁带库) 作为一个文件共享的基于 Windows 7 的或基于 Windows Server 2008 R2 的服务器消息块 (SMB) 服务器。

  • 您必须通过使用 SMB2 协议连接到 SMB 服务器的客户端计算机。

  • 您尝试执行 I/O 操作时不加载磁带存储的文件。这些文件具有 FILE_ATTRIBUTE_OFFLINE 属性设置。

在这种情况下,I/O 操作将超时。

注意:在 Windows 8 和 Windows Server 2012 中发生类似问题。有关详细信息,请参阅。

原因

因为 SMB2 不能识别的 FILE_ATTRIBUTE_OFFLINE 属性,将出现问题。当请求过期计时器过期之前加载磁带时,I/O 操作将超时。

解决方案

若要解决此问题,请在 SMB 服务器上应用此修复程序。应用此修复程序后,将以异步方式处理 I/O 操作。您必须修改 SMB 客户端扩展异步请求的超时时间上的 ExtendedSessTimeout 注册表项。此外,我们建议您增加 SMB 服务器上的 AsynchronousCredits 注册表项的值。有关详细信息,请参阅注册表信息部分。

修补程序信息

可以从 Microsoft 获得受支持的修复程序。然而,此修补程序仅用于解决本文中描述的问题。此修复程序仅适用于遇到本文中描述的问题的系统。此修补程序可能会接受进一步的测试。因此,如果这个问题没有对您造成严重的影响,我们建议您等待包含此修复程序的下一个软件更新。

如果此修复程序可供下载,则在此知识库文章的顶部会出现“修补程序下载可用”部分。如果未显示此部分,请与 Microsoft 客户服务和支持部门联系以获取此修复程序。

注意:如果出现其他问题或需要任何故障诊断时,您可能需要创建单独的服务请求。对于不符合此特定的修补程序的其他支持问题和事项将照常收取费用。有关 Microsoft 客户服务和支持电话号码或创建单独的服务请求的完整列表,请访问下面的 Microsoft 网站︰

注意:"提供修补程序下载"窗体显示获取此修复程序的语言。如果看不到您的语言,则修补程序没有那种语言的版本。

系统必备组件

若要应用此修补程序,您必须运行 Windows 7 Service Pack 1 (SP1) 或 Windows Server 2008 R2 SP1。关于如何获得 Windows 7 或 Windows Server 2008 R2 服务包的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章︰

Service Pack 1 为 Windows 7 和 Windows Server 2008 R2 的信息

注册表信息

重要:此部分、 方法或任务包含一些介绍如何修改注册表的步骤。但是,如果不正确地修改了注册表,可能会出现严重的问题。因此,请确保仔细按照下列步骤操作。为增加保护,对其进行修改之前备份注册表。然后,您可以在出现问题时还原注册表。有关如何备份和还原注册表的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

如何备份和还原在 Windows 注册表若要修改 SMB 客户端上的ExtendedSessTimeout注册表项,请执行以下步骤︰

  1. 启动注册表编辑器。

  2. 找到并单击以下注册表子项:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters

  3. 在详细信息窗格中,双击ExtendedSessTimeout条目。

  4. 数值数据框中,输入用于异步操作的超时。



    类型︰ 双字节
    以秒为单位的值︰ 时间延迟
    默认值︰ 240


如果将ExtendedSessTimeout注册表项不存在,则创建它。首先可能会增加一倍的默认值。


若要修改此修复程序应用到 SMB 服务器上的AsynchronousCredits注册表项,请执行以下步骤︰

  1. 启动注册表编辑器。

  2. 找到并单击以下注册表子项:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Lanmanserver\Parameters

  3. 在详细信息窗格中,双击AsynchronousCredits条目。

  4. 数值数据框中,输入并发异步操作的最大数量。

此项的值类型是 REG_DWORD。此项的值的数据是十进制,和最大并发 SMB 请求数。如果将AsynchronousCredits注册表项不存在,则创建它。默认值为512。此参数限制在单个连接允许的并发异步 SMB 命令的数目。例如,IIS 服务器的某些文件客户端需要大量的并发性,特别是对于文件更改通知请求。此项的值可以增加为支持这些客户端。首先可能会增加一倍的默认值。


重启要求应用此修补程序后,必须重新启动计算机。

修补程序替换信息

此修补程序不替代以前发布的修补程序。

此修复程序的英语 (美国) 版本将安装具有下表中列出的属性的文件。这些文件的日期和时间以协调世界时 (UTC) 列出。您的本地计算机上这些文件的日期和时间以您的本地时间加上当前夏令时 (DST) 偏差显示。此外,当您对文件执行某些操作时,日期和时间可能会更改。

Windows 7 和 Windows Server 2008 R2 文件信息备注
重要:相同的软件包中包含 Windows 7 的修复程序和 Windows Server 2008 R2 的修复程序。但是,热修复程序请求页上的修补程序在这两个操作系统中列出。要请求到一个或两个操作系统的系统应用此修补程序包,请选择在"Windows 7/Windows Server 2008 R2"页上列出的修复程序。始终参考"适用于"一节文章,以确定每个修补程序适用于实际的操作系统。

  • 通过检查下表中显示的文件版本号,可以识别应用于特定产品、 SR_Level (RTM、 SPn) 和服务 (LDR、 GDR) 的分支的文件。

  • 为每个环境安装的 MANIFEST 文件 (.manifest) 和 MUM 文件 (.mum) 在“Windows Server 2008 R2 和 Windows 7 的其他文件信息”部分单独列出。MUM 和 MANIFEST 文件以及关联的安全目录 (.cat) 文件对维护更新组件的状态极其重要。对其属性没有列出的安全目录文件已签署 Microsoft 数字签名。

状态

Microsoft 已经确认这是“适用于”一节中列出的 Microsoft 产品中的问题。

详细信息

有关 FILE_ATTRIBUTE_OFFLINE 属性的详细信息,请参阅。

有关软件更新术语的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

用于描述 Microsoft 软件更新的标准术语的说明

Windows 7 和 Windows Server 2008 R2 的附加文件信息

所有受支持的基于 x86 的 Windows 7 版本的其他文件

需要更多帮助?

扩展你的技能
了解培训
抢先获得新功能
加入 Microsoft 内部人员

此信息是否有帮助?

谢谢您的反馈意见!

谢谢你的反馈! 可能需要转接到 Office 支持专员。

×