自动定时重启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个语句,运行后应该都会有提示,需要手工操作才可以。

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

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

时间: 2024-11-18 10:46:06

自动定时重启sql server回收内存的相关文章

用COM自动服务扩展SQL Server的功能

server     SQL Server的T-SQL编程语言在数据存储和恢复方面功能强大,但在与SQL Server数据库之外的系统交互方面则功能较弱.然而,我们可以通过SQL Server内置的COM自动操作环境来克服这个限制,SQL Server内置的COM自动操作环境可以使用户在存储过程中自动操作COM对象. 在SQL Server 7.0和SQL Server 6.5中提供了7个扩展的存储过程,可以通过自己开发的或Office等现成的COM对象扩展SQL Server的功能.SQL S

SQL Server误区30日谈 第21天 数据损坏可以通过重启SQL Server来修复_MsSql

误区 #21:数据库损坏可以通过重启SQL Server或是Windows,或是附加和分离数据库解决 错误 SQL Server中没有任何一项操作可以修复数据损坏.损坏的页当然需要通过某种机制进行修复或是恢复-但绝不是通过重启动SQL Server,Windows亦或是分离附加数据库. 而实际上,如果你的数据库的损坏程度无法进行Crash Recovery的话(质疑状态),那么分离附加数据库将会是你做的最糟糕的决定.这个原理是由于附加数据库中包含Crash Recovery步骤,如果Crash

SQL Server误区30日谈 第21天 数据损坏可以通过重启SQL Server来修复

误区 #21:数据库损坏可以通过重启SQL Server或是Windows,或是附加和分离数据库解决 错误 SQL Server中没有任何一项操作可以修复数据损坏.损坏的页当然需要通过某种机制进行修复或是恢复-但绝不是通过重启动SQL Server,Windows亦或是分离附加数据库. 而实际上,如果你的数据库的损坏程度无法进行Crash Recovery的话(质疑状态),那么分离附加数据库将会是你做的最糟糕的决定.这个原理是由于附加数据库中包含Crash Recovery步骤,如果Crash

SQL SERVER的内存会不断增加,问题分析

server|问题 SQL SERVER的内存会不断增加 当 SQL Server 数据库引擎在 Microsoft Windows NT 或 Windows 2000 上运行时,其默认内存管理行为并不是获取特定的内存量,而是在不产生多余换页 I/O 的情况下获取尽可能多的内存.为此,数据库引擎获取尽可能多的可用内存,同时保留足够的可用内存以防操作系统交换内存. SQL Server 实例在启动时通常获取 8 到 12 MB 的内存以完成初始化过程.当实例完成初始化后,就不会再获取更多的内存,直

浅谈SQL Server对于内存的管理

简介 理解SQL Server对于内存的管理是对于SQL Server问题处理和性能调优的基本,本篇文章讲述SQL Server对于内存管理的内存原理. 二级存储(secondary storage) 对于计算机来说,存储体系是分层级的.离CPU越近的地方速度愉快,但容量越小(如图1所示).比如:传统的计算机存储体系结构离CPU由近到远依次是:CPU内的寄存器,一级缓存,二级缓存,内存,硬盘.但同时离CPU越远的存储系统都会比之前的存储系统大一个数量级.比如硬盘通常要比同时代的内存大一个数量级.

改善SQL Server的内存管理

最近,为了能在数据库服务器中运行其他应用程序,在保持数据库操作系统版本不变的前提下对数据库服务器进行了软.硬件上的升级.在软件上,将操作系统从Windows 2000升级到Windows Server 2003:在硬件上,将服务器中的内存由原来的512MB增加到1GB(1024MB). 在升级后的开始几个星期之内,服务器在使用中表现良好.但是不久后就发现,在服务器上同时运行的其他应用程序却出现了异常,不时地报出内存分配不足的警告.经过几次跟踪后发现,原来是SQL Server吞去了大部分内存所致

SQL Server占用内存的解决方法

经常有网友会问,SQL Server占用了太多的内存,而且还会不断的增长;或者说已经设置了使用内存,可它没有用到那么多,这是怎么一回事儿呢? 下面,我们来具体看以看SQL Server是怎样使用内存的. 最大的开销一般是用于数据缓存,如果内存足够,它会把用过的数据和觉得你会用到的数据统统扔到内存中,直到内存不足的时候,才把命中率低的数据给清掉.所以一般我们在看statistics io的时候,看到的physics read都是0. 其次就是查询的开销,一般地说,hash join是会带来比较大的

4 + + erver-EF5.0+SQL Server 2012内存占用问题

问题描述 EF5.0+SQL Server 2012内存占用问题 本人使用MVC4.0+EF5.0+SQL Server 2012操作数据库,只要使用了EF,SQL Server的内存占用就和我的数据库文件大小成正比,我的数据库文件从3G升到10G,SQL Server的内存占用也从3G+升到10G+,是否使用EF都存在这个问题?请高手指点一下,谢谢!

用脚本定时监控SQL Server主从一致性

原文:用脚本定时监控SQL Server主从一致性 用脚本定时监控SQL Server主从一致性 首先说一下我们的环境 我们使用的是事务复制,复制是单向的,主服务器和从服务器都在同一个机房,当然不同机房也可以,只需要改一下IP和端口 下面的脚本在我们的SQLServer2008上已经应用,暂时没有发现问题,当然,如果大家使用过程中有发现问题欢迎向我反馈o(∩_∩)o    首先,我们为什麽要校验呢? 我们知道因为网络延迟,或者从库有写入的情况(当然一般我们在订阅端会设置为db_datareade