MSSQLSERVER_701
详细信息
产品名称 |
SQL Server |
产品版本 |
10.50 |
产品内部版本号 |
10.50.0000.00 |
事件 ID |
701 |
事件源 |
MSSQLSERVER |
组件 |
SQLEngine |
符号名称 |
NOSYSMEM |
消息正文 |
系统内存不足,无法运行此查询。 |
解释
SQL Server 无法分配足够的内存来运行查询。产生这一现象的原因有多种,其中包括操作系统设置、物理内存可用性或对当前工作负荷的内存限制。大多数情况下,失败的事务不是导致此错误的原因。
由于服务器没有足够的内存,诊断查询(如 DBCC 语句)可能失败。
用户操作
下面的列表概述了有助于解决内存错误的一般步骤:
验证其他应用程序或服务是否占用此服务器上的内存。重新配置不太重要的应用程序或服务,使其占用更少的内存。
开始收集 SQL Server**: Buffer Manager**、SQL Server: Memory Manager 的性能监视器计数器。
检查以下 SQL Server 内存配置参数:
max server memory
min server memory
awe enabled
min memory per query
注意不正常的设置。根据需要将其更正。满足 SQL Server 2008 的更高内存要求。SQL Server 联机丛书的“设置服务器配置选项”中列出了默认设置。
如果正在使用地址窗口化扩展插件 (AWE),请验证是否启用了 Windows 安全设置“锁定内存页”。
在您看到这些错误消息时,观察 DBCC MEMORYSTATUS 输出及其变化情况。
检查工作负荷(例如,并发会话数,当前执行的查询)。
以下操作可以使更多内存可供 SQL Server 使用:
如果除 SQL Server 外的应用程序正在占用资源,请尝试停止运行这些应用程序,或者考虑在单独的服务器上运行它们。这样做将消除外部内存压力。
如果已配置 max server memory,请增大其设置。
运行以下 DBCC 命令以释放一些 SQL Server 内存缓存。
DBCC FREESYSTEMCACHE
DBCC FREESESSIONCACHE
DBCC FREEPROCCACHE
如果问题仍存在,则您将需要进一步调查,可能需要减小工作负荷。