MSSQLServer占用过多内存的解决方法

上传人:枫** 文档编号:509889774 上传时间:2023-01-24 格式:DOC 页数:7 大小:17.50KB
返回 下载 相关 举报
MSSQLServer占用过多内存的解决方法_第1页
第1页 / 共7页
MSSQLServer占用过多内存的解决方法_第2页
第2页 / 共7页
MSSQLServer占用过多内存的解决方法_第3页
第3页 / 共7页
MSSQLServer占用过多内存的解决方法_第4页
第4页 / 共7页
MSSQLServer占用过多内存的解决方法_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《MSSQLServer占用过多内存的解决方法》由会员分享,可在线阅读,更多相关《MSSQLServer占用过多内存的解决方法(7页珍藏版)》请在金锄头文库上搜索。

1、真诚为您提供优质参考资料,若有不当之处,请指正。MSSQLServer占用过多内存的解决方法 SQL Server 2008 或者R2的默认内存分配是2147483647MB, 差不多算是无穷大,对于系统内存的管理策略是有多少占多少,除非系统内存不够用了(大约到剩余内存为4M左右),SQL Server才会释放一点点内存。所以很多时候,我们会发现运行Sql Server的系统内存往往居高不下。SQLserver会把所有处理过的SQL操作缓存在内存里,这样就不用总去读硬盘了。例如你运行一个 SELECT 语句,那么SQL Server会将相关的数据页(SQL Server操作的数据都是以页为单位

2、的)加载到内存中来,下一次如果再次请求此页的数据的时候,就无需读取磁盘了,大大提高了速度。这类的缓存叫做数据缓存。还有一些其他类型的缓存,如执行存储过程时,Sql Server需要先编译再运行,编译后的结果也会缓存起来,下一次就无需再次编译了。但是如果长时间运行SQL Server, 系统内存被用的差不多,再开启其他程序就有可能会报内存不足,因此需要清理内存占用。方法1:定期重启下SQL Server 数据库服务,使用任务计划定期执行下边批处理:net stop sqlserveragentnet stop mssqlservernet start mssqlservernet start s

3、qlserveragent这种方法最简单有效,但是只能临时的清除SQLServer缓存所占的内存空间,时间长了SQLServer还会把内存占满。而且很重要的是这种方法不能在SQLserver有连接的情况下使用,那样会让正在使用SQLServer的用户暂时无法连接SQLServer,甚至导致程序处错误。方法2:进入Sql server 企业管理器,在数据库服务器名称上点击【右键】-【属性】-【内存】,在右边的【使用AWE分配内存】(sqlServer64的应该不用勾)左边把对勾打上。在最大服务器内存(MB)上填入适当的大小,点【确定】,重启一下Sql服务方法3:use masterselect

4、lock_timeoutset lock_timeout 900000- 15分钟select lock_timeout设置数据库每隔15分钟回收闲下来的进程,可以把时间设的短一些方法4:从过程高速缓存中删除所有元素2000里面可以 用DBCC UNPINTABLE,但这个操作不会立即释放表内存Buffer2005/2008能够更自由的对SQL所占用的内存空间做处理 如DBCC FREEPROCCACHEDBCC FREESESSIONCACHEDBCC FREESYSTEMCACHE('All')DBCC DROPCLEANBUFFERS这几个命令分别用来清除存储过程相关的缓

5、存、会话缓存、系统缓存以及所有所有缓存。以上几个命令一般能释放缓存。但是有的时候不是很管用,因为虽然SQLserver会清除掉现有缓存,为新的缓存腾地方,但是不会因为Cache(缓存)释放了而释放已经占用的内存,此命令只会让SQLServer不会继续占领新的内存,无奈的是,Sql Server并没有提供任何命令允许我们释放不用到的内存。因此我们只能通过 动态调整Sql Server可用的物理内存设置来强迫它释放内存USE masterGOEXEC sp_configure 'show advanced options', 1-开启advanced options设置开关GOEXEC sp_configure 'max server memory', 5120-最大内存调整为5GBEXEC ('RECONFIGURE')WAITFOR DELAY '00:00:05'EXEC sp_configure 'max server memory', 20480-最大内存调整为20GBEXEC ('RECONFIGURE')GOEXEC sp_configure 'show advanced options', 0-关闭advanced options设置开关GO /

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号