我在 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。
现在一切顺利!
谢谢大家。