当前位置: 首页 > 图文教程 > 数据库 > MSSQL > 自动定时重启sql server回收内存

MSSQL
SQL2005学习笔记 APPLY 运算符
SQL2005学习笔记 EXCEPT和INTERSECT运算符
SQL2005 学习笔记 窗口函数(OVER)
SQL2005 ROW_NUMER实现分页的两种常用方式
SQL Server中的XML数据进行insert、update、delete
在安装sql2005中或安装后sa用户无法登陆系统解决方法
SQL2005 自动备份的脚本
在SQLServer 2005中编写存储过程
SQL2005 服务器因重装改名后出错的说明
使用c#构造date数据类型
SQLServer2005 批量查询自定义对象脚本
SQLServer2005 Output子句获取刚插入的ID值
SQLServer 设置单词首字母大写
SQLServer ntile获取每组前10%的数据
安装SQL2005提示 找不到任何SQL2005组件的问题解决方案
sql2005开发版 没有任何功能可以安装
超详细的sql2005图解安装全过程
sqlserver2005 安装图解教程
winXP系统安装SQLServer2005开发版具体过程与注意问题
SQLServer 2005系统配置要求官方说明

MSSQL 中的 自动定时重启sql server回收内存


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-17   浏览: 227 ::
收藏到网摘: n/a

最近为数据库服务器增加了内存,达到了最大支持的8G,数据库用的是mssql 2005 ,之前内存一直是4G的,不存在内存大和32位操作系统冲突的事情,32位操作系统单进程最大支持2G的内存,这样子的话内存就白加了,怎么办呢?

网上搜索了很多资料,发现微软提供了一个算是临时的解决方案吧,使用AWE来分配内存,这样子sqlserver占用的内存基本上可以达到系统总内存。但是,经过一段时间的运行,发现了一个问题,就是当内存占用增加到一定量(比如6G)的时候,内存还会一直增加下去,这样时间长了就会造成内存用完,甚至可能造成服务器当机, 课件下载论坛 的数据库服务器就因为这个在晚上自己死机了,造成访问中断。究其原因是因为AWE不能自动回收内存。

于是乎一个想法出来了,因为sqlserver重启时会自动回收内存,那么问题就变成了定时重新启动sqlserver ,大家都知道sqlserver有自动备份等功能,但是没有自动重启的功能。这时候我突然想到了windows自带的计划任务,我们可不可以利用计划任务来定时重新启动sqlserver呢?

现在脉络基本清楚,基于平时重新启动sqlserver 时经常提示要关闭自动备份功能(也就是sqlserver代理),于是我新建一个记事本,然后重命名为sql.bat ,单击右键编辑输入以下内容

基于这样的内容,自动运行时不会出现任何提示,不信大家可以试试看更换或者删减下上面的4个语句,运行后应该都会有提示,需要手工操作才可以。

下面就是在控制面板里面新建一个计划任务了,这里省掉。