错误消息:"没有足够的服务器存储是可用来处理该命令"


症状


当从 Windows NT 客户端访问 Windows NT 服务器上的共享的项目时,您可能会收到以下错误消息:
没有足够的服务器存储空间来处理该命令。
此外可能会记录以下事件:

事件 ID: 2011年事件 ID: 0

原因


如果在服务器上的 IRPStackSize 注册表项设置太低,则可能发生此问题。

解决方案


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


若要解决此问题,请增加 IRPStackSize 注册表项的值。若要执行此操作,请执行以下步骤:
  1. 单击开始,单击运行,键入regedit,然后单击确定
  2. 找到并单击以下注册表子项:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
    如果不存在此子项中的 IRPStackSize 条目,请执行以下步骤:
    1. 单击编辑,指向新建,然后单击DWORD 值
    2. 键入IRPStackSize,,然后按 enter 键。

      注意:键入IRPStackSize,它所显示的完全一样。值的名称是区分大小写。
  3. 单击IRPStackSize,单击编辑,然后单击修改
  4. 数据值框中,键入一个较大值,然后单击确定

    注意:值的范围可以从 0x1 到 0xC。这些值为等效于 1 到 12 之间的十进制数字表示。
如果完成上述步骤后仍然存在问题,,增加更多的 IRPStackSize 的值。

详细信息


如果将 IRPStackSize 注册表项不存在,计算机使用的默认值为 0x4。根据计算机的硬件配置,此默认值不可能大为 Srv 服务管理上的某些物理驱动器的共享的文件夹。当工作组客户端的 Windows 尝试访问这些共享的目录时,您会收到以下消息:
找不到的路径。
如果您遇到此错误消息,以便找到可以解决此问题的最小值逐渐提高 IRPStackSize 的值。使用大于所需的值可能会浪费系统资源。 其他因素也可能导致此错误消息。如果问题仍然存在,您的 IRPStackSize 使用的有效值之后,还原为其原始值的 IRPStackSize 和寻求另一种解释的错误。

如果您收到此错误消息,并且您运行的 Microsoft Windows NT 4.0,请参阅以下文章 Microsoft 知识库中相应的文章:
198386在 IRP Lanman 服务器中的堆栈大小的更改