Attribute | 值 |
---|---|
产品名称 | SQL Server |
事件 ID | 802 |
事件源 | MSSQLSERVER |
组件 | SQLEngine |
符号名称 | NO_BUFS |
消息正文 | 缓冲池中的可用内存不足。 |
注意
本文侧重介绍 SQL Server。 有关 Azure SQL 数据库中的内存不足问题的疑难解答,请参阅排查 Azure SQL 数据库的内存不足错误。
当缓冲池已满且缓冲池无法再增大时,会导致此错误。
下面的列表概述了有助于解决内存错误的一般步骤:
验证其他应用程序或服务是否占用此服务器上的内存。 重新配置不太重要的应用程序或服务,使其占用更少的内存。
开始收集以下内容的性能监视器计数器:SQL Server :Buffer Manager、SQL Server :Memory Manager。
检查下面的 SQL Server 内存配置参数:
max server memory
min server memory
min memory per query
注意任何不寻常的设置,并根据需要更正它们。 满足 SQL Server 的更高内存要求。 服务器内存配置选项中列出了默认设置。
在您看到这些错误消息时,观察 DBCC MEMORYSTATUS 输出及其变化情况。
检查工作负荷(并发会话数、当前执行的查询)。
以下操作可能会为 SQL Server 提供更多内存:
如果除 SQL Server 外的应用程序正在占用资源,请尝试停止这些应用程序,或者在单独的服务器上运行它们。
如果你已配置“最大服务器内存”,请增加其设置值。 有关详细信息,请参阅手动设置选项。
运行以下 DBCC 命令以释放一些 SQL Server 内存缓存。
DBCC FREESYSTEMCACHE
DBCC FREESESSIONCACHE
DBCC FREEPROCCACHE
如果问题仍存在,则您将需要进一步调查,可能需要减小工作负荷。