MSSQLSERVER_802

新建日期: 2006 年 7 月 17 日

详细信息

产品名称

SQL Server

产品版本

9.0

产品内部版本号

9.00.1281.60

事件 ID

802

事件源

MSSQLSERVER

组件

SQLEngine

符号名称

NO_BUFS

消息正文

缓冲池中的可用内存不足。

说明

当缓冲池已满且缓冲池无法再增大时,会导致此错误。

用户操作

下面的列表概述了有助于解决内存错误的一般步骤:

  1. 验证其他应用程序或服务是否占用此服务器上的内存。重新配置不太重要的应用程序或服务,使其占用更少的内存。
  2. 开始收集 SQL Server: Buffer ManagerSQL Server: Memory Manager 的性能监视器计数器。
  3. 检查以下 SQL Server 内存配置参数:
    • max server memory
    • min server memory
    • awe enabled
    • min memory per query
      注意任何不寻常的设置,并根据需要更正它们。说明 SQL Server 2005 要求更高内存。默认设置在 SQL Server 联机丛书中的“设置服务器配置选项”中列出。
  4. 如果正在使用地址窗口化扩展插件 (AWE),请验证是否启用了 Windows 安全设置“锁定内存页”。
  5. 在您看到这些错误消息时,观察 DBCC MEMORYSTATUS 输出及其变化情况。
  6. 检查工作负荷(并发会话数、当前执行的查询)。

以下操作可能使更多内存可供 SQL Server 使用:

  • 如果除 SQL Server 外的应用程序正在占用资源,请尝试停止这些应用程序,或者在单独的服务器上运行它们。
  • 如果已配置 max server memory,请增大该设置。

运行以下 DBCC 命令以释放几个 SQL Server 内存缓存。

  • DBCC FREESYSTEMCACHE
  • DBCC FREESESSIONCACHE
  • DBCC FREEPROCCACHE

如果问题仍存在,则您将需要进一步调查,可能需要减小工作负荷。