使用MSSQL的站长朋友都会被MSSQL数据库吃内存的能力佩服得五体投地,一个小小的网站,运行若干天之后,MSSQL就会把服务器上所有的内存都吃光,此时你不得不重新启动一下服务器或MSSQL来释放内存,有人认为是MSSQL有内存泄露问题,其实不然,微软给我们了明确说明:
在您启动 SQL Server 之后,SQL Server 内存使用量将会持续稳定上升,即使当服务器上活动很少时也不会下降。另外,任务管理器和性能监视器将显示计算机上可用的物理内存稳定下降,直到可用内存降到 4 至 10 MB 为止。
仅仅出现这种状态不表示内存泄漏。此行为是正常的,并且是 SQL Server 缓冲池的预期行为。
默认情况下,SQL Server 根据操作系统报告的物理内存加载动态增大和收缩其缓冲池(缓存)的大小。只要有足够的内存可用于防止内存页面交换(在 4 至 10 MB 之间),SQL Server 缓冲池就会继续增大。像在与 SQL Server 分配内存位于相同计算机上的其他进程一样,SQL Server 缓冲区管理器将在需要的时候释放内存。SQL Server 每秒可以释放和获取几兆字节的内存,从而使它可以快速适应内存分配变化。
更多信息
您可以通过服务器内存最小值和服务器内存最大值配置选项设置 SQL Server 数据库引擎使用的内存(缓冲池)量的上下限。在设置服务器内存最小值和服务器内存最大值选项之前,请查阅以下 Microsoft 知识库文章中标题为"内存"一节中的参考信息:
319942 HOW TO:Determine Proper SQL Server Configuration Settings(确定正确的 SQL Server 配置设置)
请注意,服务器内存最大值选项只限制 SQL Server 缓冲池的大小。服务器内存最大值选项不限制剩余的未保留内存区域,SQL Server 准备将该区域分配给其他组件,例如扩展存储过程、COM 对象、以及非共享 DLL、EXE 和 MAPI 组件。由于前面的分配,SQL Server 专用字节超过服务器内存最大值配置是很正常的。有关此未保留内存区域中分配的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
316749 PRB:在使用大量数据库时可能没有足够的虚拟内存
参考
SQL Server 联机图书;主题:"服务器内存最小值和最大值的影响";"内存体系结构";"服务器内存选项";"SQL Server 内存池"
下面我们就来实战如何限制MSSQL内存使用:
第一步:打开企业管理双击进入要修改的MSSQL.
第二步:在左侧MSSQL上点击右键,选择属性,弹出SQL Server属性(配置)对话框
第三步:点击内存选项卡.
在这里,你会看到MSSQL默认设置为使用最大内存,也就是你所有的内存,根据你的需要,设置它的最大值吧.
第五步:设置完毕,关闭MSSQL服务再重启,配置即可生效!
MSSQL数据库占用内存过大造成服务器死机问题的解决方法
2020-01-10 21:38MSSQL教程网 Sql Server
有时候我们的服务器使用MSSQL数据库,但如果MSSQL数据库占用内存过大可能导致服务器死机,这里分享下解决方法, 需要的朋友可以参考下
延伸 · 阅读
- 2022-03-10Mongodb数据库转换为表格文件的库
- 2022-03-10C/C++ Qt 数据库与TreeView组件绑定详解
- 2022-03-09MySQL数据库如何给表设置约束详解
- 2022-03-09MySQL数据库触发器从小白到精通
- 2022-03-09Linux中无法远程连接数据库问题的解决方法
- 2022-03-09易语言的数据库操作教程
- Sql Server
SQLServer2005 批量查询自定义对象脚本
SQLServer2005 批量查询自定义对象脚本,使用系统函数object_definition和系统表 sysobjects 就可以了 ...
- Sql Server
SQLServer 数据库的数据汇总完全解析(WITH ROLLUP)
乍一看,好像很容易,用group by好像能实现?但仔细研究下去,你又会觉得group by也是无能为力,总欠缺点什么,无从下手。那么,到底该如何做呢?别急,...
- Sql Server
SQL JOIN 连接详细介绍及简单使用实例
这篇文章主要介绍了SQL JOIN 连接详细介绍及简单使用实例的相关资料,需要的朋友可以参考下 ...
- Sql Server
SQL2005 存储过程解密方法
SQL2005 存储过程解密方法,需要的朋友可以参考下。...
- Sql Server
三种SQL分页查询的存储过程代码
三种SQL分页查询的存储过程代码,需要的朋友可以参考下。 ...
- Sql Server
深入SQLServer中ISNULL与NULLIF的使用详解
本篇文章是对SQLServer中ISNULL与NULLIF的使用进行了详细分析介绍,需要的朋友参考下 ...
- Sql Server
SQLServer2005创建定时作业任务
这篇文章主要为大家介绍了SQLServer2005创建定时作业任务的详细过程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 ...
- Sql Server
SQL_Server全文索引的用法解析
SQL Server全文索引相信大家都有一定的了解,下面就为您介绍SQL Server全文索引的用法及相关的语句,希望可以让您对SQL Server全文索引能有更深的认识 ...