欢迎您访问我爱IT技术网,今天小编为你分享的编程技术是:【自动定时重启sql server回收内存】,下面是详细的分享!
自动定时重启sql server回收内存
最近为数据库服务器增加了内存,达到了最大支持的8G,数据库用的是mssql 2005 ,之前内存一直是4G的,不存在内存大和32位操作系统冲突的事情,32位操作系统单进程最大支持2G的内存,这样子的话内存就白加了,怎么办呢?
网上搜索了很多资料,发现微软提供了一个算是临时的解决方案吧,使用AWE来分配内存,这样子sqlserver占用的内存基本上可以达到系统总内存。但是,经过一段时间的运行,发现了一个问题,就是当内存占用增加到一定量(比如6G)的时候,内存还会一直增加下去,这样时间长了就会造成内存用完,甚至可能造成服务器当机, 课件下载论坛 的数据库服务器就因为这个在晚上自己死机了,造成访问中断。究其原因是因为AWE不能自动回收内存。
于是乎一个想法出来了,因为sqlserver重启时会自动回收内存,那么问题就变成了定时重新启动sqlserver ,大家都知道sqlserver有自动备份等功能,但是没有自动重启的功能。这时候我突然想到了windows自带的计划任务,我们可不可以利用计划任务来定时重新启动sqlserver呢?
现在脉络基本清楚,基于平时重新启动sqlserver 时经常提示要关闭自动备份功能(也就是sqlserver代理),于是我新建一个记事本,然后重命名为sql.bat ,单击右键编辑输入以下内容
| 以下为引用的内容:
net stop sqlserveragent net stop mssqlserver net start mssqlserver net start sqlserveragent |
基于这样的内容,自动运行时不会出现任何提示,不信大家可以试试看更换或者删减下上面的4个语句,运行后应该都会有提示,需要手工操作才可以。
下面就是在控制面板里面新建一个计划任务了,这里省掉。
以上所分享的是关于自动定时重启sql server回收内存,下面是编辑为你推荐的有价值的用户互动:
相关问题:如何编辑脚本使sql2005定时重启
答:网上找的重起mssql,利用 windows计划任务,执行一个bat文件。bat文件内容如下,希望对你有所帮助。 net stop sqlserveragent net stop mssqlserver net start mssqlserver net start sqlserveragent >>详细
相关问题:SQL SERVER 能自动释放内存吗
答:应该是SQL为了迅速响应数据请求而将一些数据放在了内存中缓冲。 如果你要减少内存占用的话,可以用管理器 停止然后启动 SQL服务 >>详细
相关问题:如何设定每天自动重启SQL
答:1、首先重启SQL是需要一定权限的,因为是操作SQL的服务。一般是使用管理员级别的权限 2、重启SQL的命令行是: net stop mssqlservernet start mssqlserver将以上两行存成一个Bat文件 3、在系统中创建一个计划任务,设定这个计划任务的执行频率为... >>详细
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
