操作系统:win server2008 r2
内存: 4G
数据库: sql 2008 r2
服务器只安装SQL2008R2,没有其它应用,使用一天,内存占用95%,而且没有应用程序连接数据库时,也不会释放内存。请问是什么原因?如何解决?谢谢!
------解决思路----------------------
1. 一般来说, DB服务器与Web服务器最好能分开, 这样两者之前不会互相产生大的影响;
2. 如果DB服务器是单独的, 那么不需要限制内存使用;
3. 如果DB服务器不是独立的, 那你要根据服务器上其它应用(如:Web, Windows服务等)的需要情况而定。
如果其它应用要求不高, 那么 sqlserver最高设置为3G吧。
------解决思路----------------------
SQLserver 就是有多少内存用多少的,不必担心。
如果觉得占用内存过多可以设置限制最大服务器内存 (max server memory),这只是buffer pool的内存。
------解决思路----------------------
SQL Server 2008 R2运行越久,占用内存会越来越大。
SQL Server进行优化查询、缓存很多东西,内存越占越大,是没有问题的,SQL SERVER就这么设计的。
解决办法
第一种:
有了上边的分析结果,解决方法就简单了,定期重启下SQL Server 2008 R2数据库服务即可,使用任务计划定期执行下边批处理:
net stop sqlserveragent
net stop mssqlserver
net start mssqlserver
net start sqlserveragent
第二种:
进入Sql server 企业管理器(管理数据库和表的,这个都不知道就不用往下看了),在数据库服务器名称上点击【右键】,选择【属性】,然后,找到【内存】选项,在右边的【使用AWE分配内存】(sqlServer64的应该不用勾)左边把对勾打上。在最大服务器内存(MB)上填入适当的大小(具体填多大,肯定不能超过计算机的物理内存,当然,也可以在任务管理器中查一下,sqlserver.exe占有多大时,系统会变慢作为参考),记得是以M(兆)为单位,点确定,重启一下Sql服务器!OK!