maanshancss

数据库进行查询时,会缓存结果集,当查询结果过大时会出现内存爆满的情况,如果手动清除SQL所占用的内存呢,在网上搜索一下,把结果贴下面:

 

--强制释放内存  
Create procedure [dbo].ClearMemory    
as    
begin  
--清除所有缓存  
DBCC DROPCLEANBUFFERS  
--打开高级配置  
exec sp_configure \'show advanced options\', 1  
--设置最大内存值,清除现有缓存空间  
exec sp_configure \'max server memory\', 256  
EXEC (\'RECONFIGURE\')  
--设置等待时间  
WAITFOR DELAY \'00:00:05\'  
--重新设置最大内存值  
EXEC  sp_configure \'max server memory\', 4096  
EXEC (\'RECONFIGURE\')  
--关闭高级配置  
exec sp_configure \'show advanced options\',0  
END 
--下面的全部执行
DBCC FREEPROCCACHE
DBCC FREESESSIONCACHE
DBCC FREESYSTEMCACHE(\'All\')
DBCC DROPCLEANBUFFERS
EXEC ClearMemory

 

分类:

技术点:

相关文章: