MSSQL 2008 r2 Express:资源池“内部”中的系统内存不足以运行此查询

MSSQL 2008 r2 Express:资源池“内部”中的系统内存不足以运行此查询

我在 DotNetNuke 安装的生命周期中遇到了此错误。我更换了托管服务器,现在我在同一台机器上运行了 Windows Server 2012 和 IIS 8 以及 SQL Server 2008 r2 Express:64 位,12GB RAM。

该站点完美运行了 4 或 5 个小时,直到随机地在 SQL Express Log 中开始出现上述错误,然后实例数据库不再接受任何连接。

如果我重置 IIS,sql 服务器就会释放内存并且一切恢复正常!

怎么会这样?

提前致谢!

如果它们有帮助的话,我会在这里放一些日志条目:

2015-03-24 19:05:26.01 spid15767 错误:701,严重性:17,状态:89。
2015-03-24 19:05:26.01 spid15767 资源池“内部”中的系统内存不足以运行此查询。
2015-03-24 19:05:26.03 spid15767 错误:18056,严重性:20,状态:29。(参数:)。由于格式化过程中出现错误,因此以简洁模式打印错误。跳过跟踪、ETW、通知等。
2015-03-24 19:05:35.20 服务器错误:17300,严重性:16,状态:1。(参数:)。由于格式化过程中出现错误,因此以简洁模式打印错误。跳过跟踪、ETW、通知等。
2015-03-24 19:05:35.20 服务器错误:17300,严重性:16,状态:1。(参数:)。由于格式化过程中出现错误,因此以简洁模式打印错误。跳过跟踪、ETW、通知等。
2015-03-24 19:05:35.20 服务器错误:17300,严重性:16,状态:1。(参数:)。由于格式化过程中出现错误,因此以简洁模式打印错误。跳过跟踪、ETW、通知等。
2015-03-24 19:05:35.20 服务器错误:17300,严重性:16,状态:1。(参数:)。由于格式化过程中出现错误,因此以简洁模式打印错误。跳过跟踪、ETW、通知等。
2015-03-24 19:05:35.20 服务器错误:17300,严重性:16,状态:1。(参数:)。由于格式化过程中出现错误,因此以简洁模式打印错误。跳过跟踪、ETW、通知等。
2015-03-24 19:05:40.21 服务器错误:17300,严重性:16,状态:1。(参数:)。由于格式化过程中出现错误,因此以简洁模式打印错误。跳过跟踪、ETW、通知等。
2015-03-24 19:05:45.75 spid15773 错误:701,严重性:17,状态:123。
2015-03-24 19:05:45.75 spid15773 资源池“内部”中的系统内存不足以运行此查询。
2015-03-24 19:06:01.24 spid3s      
内存管理器知识库
---------------------------------------- ----------
VM 保留 12651576
VM 已提交 1529500
已分配锁定页面 0
预留内存 1024
保留内存使用中 0
2015-03-24 19:06:01.24 spid3s      
内存节点 ID = 0 KB
---------------------------------------- ----------
VM 保留 12650488
VM 已提交 1528472
已分配锁定页面 0
多页分配器 23840
单页分配器 1371672
2015-03-24 19:06:01.24 spid3s      
MEMORYCLERK_SQLGENERAL(节点 0)KB
---------------------------------------- ----------
虚拟机保留 0
VM 已提交 0
已分配锁定页面 0
SM 保留 0
SM 已承诺 0
单页分配器 15536
多页分配器 3824
2015-03-24 19:06:01.24 spid3s      
MEMORYCLERK_SQLBUFFERPOOL(节点 0)KB
---------------------------------------- ----------
VM 保留 12615680
VM 已提交 1495168
已分配锁定页面 0
SM 保留 0
SM 已承诺 0
单页分配器 0
多页分配器 400
2015-03-24 19:06:01.24 spid3s      
MEMORYCLERK_SQLQUERYEXEC(节点 0)KB
---------------------------------------- ----------
虚拟机保留 0
VM 已提交 0
已分配锁定页面 0
SM 保留 0
SM 已承诺 0
单页分配器 48
多页分配器 0
2015-03-24 19:06:01.24 spid3s      
MEMORYCLERK_SQLOPTIMIZER(节点 0)KB

答案1

这可能是SQL 中的一个错误

在 Microsoft SQL Server 2008 或 Microsoft SQL Server 2008 R2 中运行使用复合词的全文查询时,错误日志文件中收到以下错误消息:

日期时间 spidID 错误:701,严重性:17,状态:123。

日期时间 spidID 资源池“内部”中的系统内存不足以运行此查询。

此外,如果您在出现此问题后成功运行全文查询,您会收到相同的错误消息。

出现此问题的原因如下:

  • 用于评估执行排序操作所需的行集数的代码存在错误。因此,代码大大高估了行集的数量。全文所需的授权估计是每个排序所需的行集 64 页。
  • 有一个较大的请求阻止系统使用为全文查询保留的内存。

看起来DotNetNuke 的某些模块可能使用全文。

答案2

我已经在 Windows Server 2012 上完成了所有 Windows 更新,并且已迁移至 MSSql Server 2014 Express。

现在一切顺利!

谢谢大家。

相关内容