2.3 SQL Server系统的配置
2.3.1 内存配置
SQL Server常用的内存配置选项有两个,即最大服务器内存(max server memory)和最小服务器内存(min server memory)。
1.最大服务器内存
该选项表示SQL Server的Buffer Pool最大可使用的内存量,以MB为单位,默认值为2147483647MB。
当该选项被配置为0或超过当前系统最大内存值时,将使用系统最大内存量;当设置为小于当前系统的最大内存值,并且大于最小内存值时,SQL Server实例在达到指定的最大内存量后,将不会继续扩大内存的使用量,当服务器上除了SQL Server服务外还部署了IIS服务时,为了避免IIS服务因为无法获得充足的内存资源而导致Web站点不稳定,可进行资源隔离,在这种情况下,设置SQL Server占用的最大服务器内存非常有效。
SQL Server服务进程与操作系统间也存在内存资源分配的情况。当服务器内存不足以分配给操作系统用于远程登录或启动某些服务器进程时,有可能会使服务器进入假死状态。因此,在安装好一个新的数据库服务器后,建议充分评估数据库需要的最大内存使用量,为操作系统或其他服务程序预留足够的内存空间。
2.最小服务器内存
该选项表示SQL Server的Buffer Pool使用的内存量不得小于这个数值,同样以MB为单位,默认值为0。
该配置常用来为SQL Server实例预留能够使用的内存。当服务器内存出现较大压力时,数据库会根据SQL Server的内存需求与服务器内存的压力情况,收缩数据库持有的内存量;当收缩内存达到当前配置值时,将不再收缩。该选项还可以与“锁定内存页”一起使用,从而将SQL Server数据缓存长期锁定在内存。这个选项比较“危险”,所以请在翻阅更多资料,并有深入了解以后再做配置。
下面是对数据库内存选项进行配置的两种方式:
通过SQL Server的系统存储过程sys.sp_configure进行配置。
通过第1章中图1-4所示的选项页进行配置。