博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
自动定时重启sql server回收内存
阅读量:7041 次
发布时间:2019-06-28

本文共 823 字,大约阅读时间需要 2 分钟。

最近为数据库服务器增加了内存,达到了最大支持的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个语句,运行后应该都会有提示,需要手工操作才可以。

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

  本人首发admin5站长网,转载请注明出处http://www.kejianxiazai.com。

你可能感兴趣的文章
spring中的相互引用问题
查看>>
sql server2005 jdbc解决自动增长列统一处理问题
查看>>
GLUT and OpenGL Utility Libraries
查看>>
虚拟机安装oracle RAC
查看>>
socket client deamon
查看>>
docker images 保存导入导出、容器导入导出
查看>>
OpenSSH后门获取root密码
查看>>
说说sftp的chroot
查看>>
Network File System
查看>>
Java导致登录UCS Manager异常
查看>>
获取的一个网页木马分析
查看>>
基于PIX525的NAT配置
查看>>
grub的安装
查看>>
3、Jenkins升级和迁移
查看>>
Centos7系列(一)Centos7新特性、安装与基本命令
查看>>
如何配置标准和分布式交换机
查看>>
Linux内核的ftrace调试接口
查看>>
应用SAAS结构技术的开源药店管理系统-源代码结构说明
查看>>
tushiba笔记本的显卡驱动
查看>>
zabbix 监控web-url是否正常
查看>>