改进SQL Server内存管理[MSSQL防范]
本文“改进SQL Server内存管理[MSSQL防范]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
近来,为了能在数据库服务器中运行其他利用程序,在保持数据库操作系统版本不变的前提下对数据库服务器举行了软、硬件上的进级.在软件上,将操作系统从Windows 2000进级到Windows Server 2003;在硬件上,将服务器中的内存由本来的512MB增添到1GB(1024MB).
在进级后的开始几个星期之内,服务器在利用中表现杰出.但是不久后就发现,在服务器上同时运行的其他利用程序却呈现了非常,不时地报出内存分配不足的告诫.经过几次跟踪后发现,本来是sql server吞去了大部份内存所致.被SQL Server占用的内存由进级前的不到400MB一下子增添到目前的900MB,并且有不断增长的趋向.
通过查找缘由才知道这是SQL Server 缓冲池的预期行为.默许情形下,在启动 SQL Server之后,SQL Server会按照操作系统报告的物理内存数来动态增大或缩小高速缓冲存储器的容量.只要可用物理内存大小保持在4MB到10MB之间,SQL Server 缓冲池就会持续增大(保存可用物理内存在4MB到10MB之间是为了避免操作系统因为贫乏内存而频繁地换页).假如物理可用内存变得较少的时刻,则SQL Server会将一些内存释放给操作系统.
为了使运行在服务器上的利用程序都能到达对比称心的效果,同时也为了能给其他利用程序分配充足的内存,需求采纳办法限制SQL Server 的内存利用量.我们可以通过设置SQL Server 数据库引擎利用的内存的上下限来到达此目的.其具体步骤是:
1.翻开企业管理器,展开服务器组.
2.单击该服务器,点击鼠标右键,单击属性菜单.
3.在弹出的对话框中单击内存选项卡.
内存设置办法有两种:
1.设置min server memory和max server memory 在一个范围段内.
比方,我们将它设置成最小0MB,最大255MB.这种办法在为一台服务器中运行多个利用程序分配内存时非常有效.
2.设置 min server memory 和 max server memory 为同一数值.
比方,可以将它最大和最小值都设置成255MB.这样的设置办法与窗口中的另一个选项"利用固定的内存大小" 相一致.
固然内存最小值和最大值设置是高级选项,但在设置完毕之后,最好还是先将SQL Server服务终止后再重新运行,以便SQL Server能更好地对内存举行公道安置.
本文地址: | 与您的QQ/BBS好友分享! |