SQLServer2008R2占⽤内存越来越⼤两种解决⽅法
SQL Server 2008 R2占⽤内存越来越⼤两种解决⽅法 [⾮程序和sql语句的问题]
事件缘由:本⼈在开发sql server数据库项⽬的过程中发现了这么⼀个问题,SQL Server 2008 R2运⾏越久,占⽤内存会越来越⼤。因为sql server 2008 本⾝内存回收机制做的不好所以只能这么强制设置。现在明⽩了,原来是微软R2系列的服务器&数据库问题的通病。
第⼀种:
有了上边的分析结果,解决⽅法就简单了,定期重启下SQL Server 2008 R2数据库服务即可,使⽤任务计划定期执⾏下边批处理:
net stop sqlserveragent
sql sever 2008net stop mssqlserver
net start mssqlserver
net start sqlserveragent
注意最不可取的办法:
1、做个软件⾃动给sql server 2005数据库强制释放内存;
注:这个是可以的,但是这样做很不合理;⼀⽅⾯服务器上的web系统正在运⾏,如果此时我们把系统的内存释放掉了这样肯定会引起⽹页OA/ERP/CRM系统的异常。
2、给sql server 2005 做个任务来释放内存;这个好像是可以的!但是这个也是很⿇烦的事情。
很明显上⾯的⽅法都不是最理想的。
第⼆种:
进⼊Sql server 企业管理器(管理数据库和表的,这个都不知道就不⽤往下看了),在数据库服务器名称上点击【右键】,选择【属性】,然后,到【内存】选项,在右边的【使⽤A WE分配内存】(sqlServer64的应该不⽤勾)左边把对勾打上。在最⼤服务器内存(MB)上填⼊适当的⼤⼩(具体填多⼤,肯定不能超过计算机的物理内存,当然,也可以在任务管理器中查⼀下,占有多⼤时,系统会变慢作为参考),记得是以M(兆)为单位,点确定,重启⼀下Sql服务器!OK!