MSSQLSERVER_802 - 数据库引擎错误

适用范围:SQL Server

详细信息

Attribute
产品名称 SQL Server
事件 ID 802
事件来源 MSSQLSERVER
组件 SQLEngine
符号名称 NO_BUFS
消息正文 缓冲池中的可用内存不足。

注意

本文侧重介绍 SQL Server。 有关 Azure SQL 数据库中的内存不足问题的疑难解答,请参阅排查 Azure SQL 数据库的内存不足错误

说明

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

用户操作

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

  1. 验证其他应用程序或服务是否占用此服务器上的内存。 重新配置不太重要的应用程序或服务,使其占用更少的内存。

  2. 开始收集 SQL Server: Buffer ManagerSQL Server: Memory Manager 的性能监视器计数器。

  3. 检查以下 SQL Server 内存配置参数:

    • max server memory

    • min server memory

    • min memory per query

    注意任何不寻常的设置,并根据需要更正它们。 考虑到 SQL Server 的内存需求增加。 服务器内存配置选项中列出了默认设置。

  4. 在您看到这些错误消息时,观察 DBCC MEMORYSTATUS 输出及其变化情况。

  5. 检查工作负荷(并发会话数、当前执行的查询)。

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

  • 如果 SQL Server 以外的应用程序占用资源,请尝试停止这些应用程序或在单独的服务器上运行它们。

  • 如果你已配置“最大服务器内存”,请增加其设置值。 有关详细信息,请参阅手动设置选项

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

  • DBCC FREESYSTEMCACHE

  • DBCC FREESESSIONCACHE

  • DBCC FREEPROCCACHE

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