SQL server 强制释放内存

本文介绍了两种在SQL Server中强制释放内存的方法,以应对因大量数据处理导致的内存占用问题。一种是通过执行特定的SQL语句和存储过程来清理缓存和调整最大内存设置,另一种是通过重启SQL Server服务。详细步骤包括创建存储过程执行内存释放和设置系统任务计划自动执行重启服务的命令。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

由于在日常的业务系统、BI服务器中进行了大量复杂的数据处理、查询等(特别是ETL过程),可能造成服务器内存占用比较多,此时导致其他查询或使用是效率极低。微软初始的目的是好的让更多更常用的数据驻留内存,但是这样对于BI的查询服务器与数据处理服务器为同一实体时却是一种弊端。当数据抽取(ETL)、模型处理(CUBE)处理完成后往往内存已经被占用殆尽(一般服务器),所以当用户进行查询时就显得效率很低。为了释放被占用的内存可采用如下2种方法。

 

测试环境:window 2008 r2、win7;sql2008 r2

1、使用SQL语句释放内存

语句如下:此处用到sql数据库管理的高级配置项,所以要开启高级配置项管理

------------------------------------------------------------------------------------------------------

CREATE procedure ReleaseMemory   
as  
begin 
--清除所有缓存(可选其他内存:清除系统缓存  DBCC FREESYSTEMCACHE('All') ;清除会话缓存 DBCC

FREESESSIONCACHE;清除存储过程缓存 DBCC FREEPROCCACHE )
 
DBCC DROPCLEANBUFFERS
 
--打开高级配置 
EXEC ('RECONFIGURE') 
exec sp_configure 'show advanced options', 1 

EXEC ('RECONFIGURE') 
--设置最大内存值(收缩用),清除现有缓存空间 
exec sp_configure 'max ser

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值