浅谈优化SQLServer服务器内存配置

浅谈优化SQLServer服务器内存配置,第1张

浅谈优化SQLServer服务器内存配置,第2张

内存是影响Microsoft SQL Server系统性能的重要因素。安装SQL Server数据库时,默认情况下,将为具有32MB物理内存的计算机配置16MB的可用内存,为具有16MB物理内存的计算机配置4MB的可用内存。应该在安装Microsoft SQL Server数据库后设置内存选项,配置值为2GB。

为了确定SQL Server系统最合适的内存需求,可以从总物理内存中减去Windows NT4.0所需的内存和其他内存需求。理想情况下,应该在不进行页面调度的情况下为SQL Server分配尽可能多的内存。

1.根据物理内存合理规划SQL Server的可用内存。

在大多数生产环境下,服务器的物理内存是64 MB ~ 128 MB,偶尔256MB,只要配置得当,完全可以满足SQL Server的内存需求。下表是作者对SQL Server内存分配的建议计划,供参考。

设置SQL Server的物理内存分配值(单位:2KB)

8MB 4MB 2048

16MB 8MB 4096

32MB 16~18MB 8192~9216

48MB 28~34MB 14336~17408

64MB 40~46MB 20480~23552

128MB 100~108MB 51200~55296

256MB 216~226MB 110592~115712

512MB 464~472MB 237568~241664

下面是如何设置SQL Server内存选项。

(1)启动SQL企业管理器;来自Microsoft SQL Server程序集;

(2)从服务器管理器窗口中选择“服务器”菜单选项;

(3)在“服务器”菜单中选择“配置”选项;

(4)在“服务器配置”对话框中选择“配置”选项卡,配置窗口显示配置选项列表;

(5)选择“内存”项,在“当前”栏中填入新值;

(6)停止并重新启动SQLServer服务,以使设置生效。

2.合理扩展虚拟内存,增加SQL Server的可用内存。

当SQL Server的可用内存确实需要扩展时,应该在有足够磁盘空的情况下扩展虚拟内存,相应增加SQL Server的可用内存。具体来说,系统管理员首先扩展服务器的虚拟内存,然后参照上表增加SQL Server的可用内存。关键是要根据系统负载综合决定是否扩充内存,优化配置。

3.使用tempinRAM

在某些查询连接操作期间,SQL Server使用tempdb临时数据库作为workshop 空来排序或创建临时表。在RAM中创建tempdb可以大大提高系统的运行性能,而且由于服务器每次重启都会重新构建tempdb,所以即使非正常关机,比如断电,也更加安全。要在RAM中创建tempdb,可以使用sp_configure来设置它。具体用法请参考相关资料。

由于tempdbinRAM使用的内存是系统从内存库中单独分配的,与SQL Server的memory选项设置的可用内存池是分开的,使用tempdbin RAM会减少整个系统的可用内存,需要根据SQL Server和Server的运行情况进行配置,否则可能会适得其反,影响系统性能。另外,适当增加tempdb database 空空间,即使不使用tempdbin RAM,也能提高数据库的运行速度。

4.有关注意事项

(1)建议SQL Server在生产环境中不要设置小于32MB的内存,尽量不要在数据库服务器上运行其他应用;

(2)扩展虚拟内存,增加SQL Server的可用内存,要考虑物理内存的使用和磁盘间的许可空;

(3)如果可能的话,应该为系统预留一些额外的内存,这样在不改变SQL Server的内存配置的情况下,在服务器上打开一个服务或者添加一个进程的时候,NT server的运行速度不会受到影响(变得很慢)。一般认为最低2MB,20MB。

5.巧用内存配置解决统计服务器问题。

某公司统计服务器投入使用后,运行缓慢。查了一下原因,发现SQLServer中的内存选项只是安装的默认值——16MB(而服务器的物理内存是128MB)。内存值调整为100MB时,误改成1000MB,导致SQL Server服务无法启动,统计数据库无法打开,无法再次进入SQL企业管理器修改内存设置。因为最近没有备份业务数据,万不得已又不能重装SQLServer数据库,所以尝试用命令行参数命令重启SQL Server服务,但都失败了,陷入了两难的境地。经过仔细分析,我们提出:既然SQLServer的可用内存设置值远大于物理内存,无法启动SQL Server服务,为什么不扩展虚拟内存呢?在尝试将机器的虚拟内存扩展到1000MB并重启后,成功启动了SQL Server数据库,问题得到了解决。

6.结束语

目前大多数单位投入使用的微软SQL Server数据库服务器的物理内存一般都在64MB以上。例如,中国农业银行省市分行的统计服务器配备了128MB的物理内存。只要按照上述方法对NT和SQL Server的内存配置进行合理的规划和优化,并尽可能做到设置到位,应用系统就能充分发挥设计功能,满足业务需求。

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 浅谈优化SQLServer服务器内存配置

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情