清除SQL Server内存

数据库进行查询时,会缓存结果集,当查询结果过大时会出现内存爆满的情况,如果手动清除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

 

你可能感兴趣的:(sql,server)