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

MSSQL
修改自定义数据类型精度
SQL Server 2000之日志传送功能(1)
SQL Server 2000之日志传送功能(2)
建立安全的MSSQL SERVER启动账号
用T-SQL导入文件数据到SQL Server
SQL Server CHARINDEX和PATINDEX详解
如何同时对多个表或列操作
让数据库产生一张详细的日历表
用DTS导入多个文件数据到SQL Server中
SQL SERVER2000备份和恢复存储过程
将Excel中的数据导入到SQL Server 2000数据库中
SQL Server数据库文件恢复技术
SQL邮件自动应答
SQL Sever 2000的系统数据库和索引
SQLServer2000中UNION与UNION ALL的区别
用SQL语句来建立跟踪的问题
关于SQL Server 2000的安全配置
备份服务器端SQL SERVER数据库至本地目录
Sqlserver中的一些技巧
在SQL Server存储过程中执行DTS包

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


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

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

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

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

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

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

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