手工设置SQL Server内存选项的方法


  本文标签:SQL Server内存选项

  手工设置SQL Server内存选项是很多人都提到过的问题,下面就教您几个手工设置SQL Server内存选项的常见方法,希望对您能有所帮助  。

  手工设置SQL Server内存选项有两种主要方法:     

  第一种手工设置SQL Server内存选项的方法,设置min server memory和max server memory为同一数值  。该数值与分配给SQL Server的固定内存量相对应  。   

  第二种手工设置SQL Server内存选项的方法,把min server memory和max server memory数量设置到一个范围段内  。这种方法在系统或数据库管理员希望配置SQL Server实例,使其适应在同一台计算机上运行的其它应用程序的内存需求时很有用  。    

  min   server   memory保证了SQL Server实例使用的最小内存量  。SQL Server启动时不立即分配min server memory中所指定的内存量  。但是,当内存使用由于客户端负荷而达到该值后,SQL Server将无法从已分配的缓冲池中释放内存,除非减少min server memory值  。  
   
说明    

  不保证SQL Server分配min server memory中所指定的内存量  。如果服务器上的负荷从不需要分配min server memory中所指定的内存量,则SQL Server将以较少的内存运行  。  
   
max server memory则可防止SQL Server使用多于指定数量的内存,这样剩余的可用内存可以快速运行其它应用程序  。SQL Server启动时不立即分配max server memory中所指定的内存  。内存使用随SQL Server的需要而增长,直到达到max server memory中所指定的值  。SQL Server无法超过该内存使用值,除非增加max server memory值  。  
   
服务器启动时,在地址窗口扩展(AWE)内存模式下运行的SQL Server实例确实分配max server memory中所指定的全部内存量  。有关AWE内存的更多信息,请参见管理AWE内存  。  
   
在应用程序启动和SQL Server释放内存之间将有一个较短的时间延迟,使用max server memory可以避免该延迟,从而可以提高其它应用程序的性能  。仅当与SQL Server共享同一台服务器的新应用程序在启动时显示有问题时,才设置min server memory  。最好让SQL Server使用全部可用的内存  。  
   
如果手工设置SQL Server内存选项,应确保适当地设置用于复制的服务器  。如果服务器是一个远程分发者或者是一个出版者/分发者的组合,则必须为它分配至少16MB的内存  。  
   
理想情况下,在不引起系统交换页面到磁盘的前提下,应尽可能多地分配内存给SQL Server  。该值因系统不同而有很大差别  。例如,在一个32MB系统中,分配16MB给SQL Server可能是合适的;在一个64MB系统中,则可能适合分配48MB  。  
      
说明

  当增大SQL Server内存数量时,应确保有足够的磁盘空间来容纳操作系统虚拟内存的支持文件(Pagefile.sys)  。有关虚拟内存支持文件的更多信息,请参见Windows NT4.0和Windows 2000文档  。  
       
指定的内存数量必需满足SQL Server的静态内存(核心开销、打开的对象、锁等等)以及数据缓存(亦称高速缓存)的需要  。   

  如有必要,在系统监视器(在Windows NT4.0中为性能监视器)中使用统计功能帮助调整内存值  。应该只有在您添加或减少内存,或者改变系统使用方式时改变这些值  。