由于在日常的业务系统、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 server memory', 256

EXEC ('RECONFIGURE') 
--设置等待时间(循环收缩)  此处可设置释放内存持续时间以控制释放多少内存
WAITFOR DELAY '00:00:05'
 
EXEC ('RECONFIGURE') 
--重新设置最大内存值(还原sql最大内存) 
EXEC  sp_configure 'max server memory', 2147483647
 
EXEC ('RECONFIGURE') 
--关闭高级配置 
exec sp_configure 'show advanced options',0

EXEC ('RECONFIGURE') 
end

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

以上需要注意地方为:WAITFOR DELAY '00:00:05'  设置释放内存的执行持续时间

将以上存储过程放到SQL 的JOB里调用,执行时间及频率可自由设定

2、重启sql服务命令方法,可将sql重启,需要添加系统任务计划,将命令存放在bat文件中,代码如下:

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

rem 停止数据库代理服务
net stop sqlserveragent

rem 停止数据库服务
net stop mssqlserver

rem 启动数据库服务
net start mssqlserver

rem 启动数据库代理服务
net start sqlserveragent

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

以上命令如需自动执行需要进行系统计划配置,步骤如下:

1 开始->控制面板->管理工具->任务计划程序

2 任务计划程序库->创建任务(界面右侧栏)

3 (1)名称:任务名称 (2)“安全选项”->运行任务时,请选择如下用户:可设置执行用户 (配置)选择所用系统

4 触发器(什么时间执行任务):(1)新建:设置触发器什么时候执行(开机、登录、关机等,一把选用“制定计划时”);设置平率(每天、每周、每月、每年);延迟时间间隔(X小时)

5 操作(需要执行的脚本、程序):(1)新建:启用程序、发送邮件、显示消息  (2)设置:设置需要启动的程序、脚本等 (3)可配置 参数(程序、脚本使用)

6 条件(与触发器一起判断何时执行任务)

7 设置其他参数

完成以上设置即可完成自动重启SQL SERVER服务

备注:由于涉及到企业数据库服务器,除非数据库服务器是独立的(无其他系统使用),否则不要使用,收缩内存时一定要在服务器空闲时,否则造成其他应用系统报错、崩溃。

SQL server 强制释放内存相关推荐

  1. SQL Server占用服务器内存过高

    SQL Server对服务器内存的使用策略是用多少内存就占用多少内存,只用在服务器内存不足时,才会释放一点占用的内存,所以SQL Server 服务器内存往往会占用很高. 查看内存状态: DBCC M ...

  2. 为 SQL Server 启用 AWE 内存。

    今天突然想仔细了解下下AWE,所以微软的网站上查了查,顺便把查到的内容放到这里,嘿嘿嘿. 地址窗口化扩展插件 (AWE) 可以使 32 位操作系统访问大量内存.AWE 由操作系统提供,并且在 Micr ...

  3. SQL Server强制使用特定索引 、并行度、锁

    SQL Server强制使用特定索引 .并行度 修改或删除数据前先备份,先备份,先备份(重要事情说三遍) 很多时候你或许为了测试.或许为了规避并发给你SQL带来的一些问题,常常需要强制指定目标sql选 ...

  4. SQL Server资源管理之内存管理篇(上)

    对SQL Server来说,最重要的资源是内存.Disk和CPU,其中内存又是重中之重,因为SQL Server为了性能要求,会将它所要访问的数据全部(只要内存足够)放到缓存中.这篇就来介绍SQL S ...

  5. sql 缓冲池_监视SQL Server中的内存文员和缓冲池分配

    sql 缓冲池 The following article applies to SQL Server versions 2008 + 以下文章适用于SQL Server 2008 +版本 Adequ ...

  6. 清理SQL Server日志释放文件空间的终极方法

    清理SQL Server日志释放文件空间的终极方法 转自:http://www.cnblogs.com/dudu/archive/2013/04/10/3011416.html [问题场景]有一个数据 ...

  7. SQL SERVER占用服务器内存过高的解决方案

    SQL SERVER占用服务器内存过高的解决方案 参考文章: (1)SQL SERVER占用服务器内存过高的解决方案 (2)https://www.cnblogs.com/purple5252/p/1 ...

  8. 如何将SQL Server表驻留内存和检测

    将SQL Server数据表驻留内存是SQL Server提供的一项功能,在一般小型系统的开发过程中估计很少会涉及到.这里整理了相关文档资料,演示如何把SQL Server中一个表的所有数据都放入内存 ...

  9. 转发:Hekaton:SQL Server集成的内存事务处理

    原文地址:http://www.infoq.com/cn/news/2012/11/Hekaton,觉得很好的新闻,专此大家分享,红字是我觉得很激动的设计.我还找到微软介绍此技术的文章. 作者 Abe ...

最新文章

  1. 一道关于整型提升/截断的经典练习题
  2. python实现将txt文件格式转换为arff格式
  3. [SourceInsight].SI自动添加函数注释
  4. 分布式/微服务必配APM系统,SkyWalking让你不迷路
  5. apache jmx_用于JMX访问的Apache Ant任务
  6. 倒计时小工具_这款高颜值的 APP 可以让小仙女/男神们的日子过得更精致
  7. Python 问题 unindent does not match any outer indentation level 在 pycharm 平台的解决方法
  8. Facebook田渊栋谈人生挑战与选择
  9. linux下个性配置命令提示符
  10. 服务器系统 usb不识别u盘,无法识别的usb设备怎么办(实测成功解决U盘修复教程)...
  11. 从某付宝获取的省市区数据处理成value label children结构
  12. WdatePicker常用配置属性
  13. Android Studio远程连接模拟器调试
  14. java 获取 ip mac_Java获取客户端ip mac地址
  15. 申请提前转正,当天就被开除了
  16. PWM、SPWM、SVPWM的个人理解
  17. 软件工程---个人账本---立项文档
  18. 闲鱼如何保障交易链路质量
  19. 《Al安全之对抗样本入门》读书笔记 2
  20. numpy 向量/矩阵的乘法

热门文章

  1. win7怎样打开无线服务器,Win7怎么设置tplink路由器_Win7安装tplink路由器方法-192路由网...
  2. ambari全攻略流程,开发ambari(四)
  3. 软考程序员c语言、Java和c++考点
  4. 什么是SEO?搜索引擎优化是什么意思?
  5. RPC 实战与核心原理分析
  6. 不给电脑,我用手机敲命令十分钟完成了zabbix监控,面试官当场下offer
  7. cocos2dx入门1:关于Cocos Creator
  8. Java 爬取微信公众号文章(文字 + 图片)
  9. 码分多路复用 CDM
  10. web项目部署服务器上线