SQL Server 2008 R2占用内存越来越大两种解决方法

事件缘由:本人在开发sql server数据库项目的过程中发现了这么一个问题,SQL Server 2008 R2运行越久,占用内存会越来越大。因为sql server 2008 本身内存回收机制做的不好 所以只能这么强制设置。现在明白了,原来是微软R2系列的服务器&数据库问题的通病。

第一种:
有了上边的分析结果,解决方法就简单了,定期重启下SQL Server 2008 R2数据库服务即可,使用任务计划定期执行下边批处理:

net stop sqlserveragent
net stop mssqlserver
net start mssqlserver
net start sqlserveragent
 
注意最不可取的办法:

1、做个软件自动给sql server 2005数据库强制释放内存;

注:这个是可以的,但是这样做很不合理;一方面服务器上的web系统正在运行,如果此时我们把系统的内存释放掉了这样肯定会引起网页OA/ERP/CRM系统的异常。

2、给sql server 2005 做个任务来释放内存;这个好像是可以的!但是这个也是很麻烦的事情。

很明显上面的方法都不是最理想的。


第二种:
进入Sql server 企业管理器(管理数据库和表的,这个都不知道就不用往下看了),在数据库服务器名称上点击【右键】,选择【属性】,然后,找到【内存】选项,在右边的【使用AWE分配内存】(sqlServer64的应该不用勾)左边把对勾打上。在最大服务器内存(MB)上填入适当的大小(具体填多大,肯定不能超过计算机的物理内存,当然,也可以在任务管理器中查一下,sqlserver.exe占有多大时,系统会变慢作为参考),记得是以M(兆)为单位,点确定,重启一下Sql服务器!OK!

 

你可能感兴趣的:(SQL Server 2008 R2占用内存越来越大两种解决方法)