1. 首页
  2. IT资讯

MSSQL配置学习笔记之二

昨天,我看了点MSSQL配置的资料,上次笔记离现在已经有很多天了,今天坚持把它写完吧,人就是这样,很多事情你只要懒,一放下,可能就很久没机会去完成,坚持。。。:
AWE:该选项可以使Address windowing extensions可以用,从而做到对大内存的支持,进而使得MSSQL可以使用WINDOWS企业版、开发版和标准版所有内存。但特例是,当你使用MSSQL64位版本时,只能使用到windows开发、标准版的32t的内存。已经足够了。当你AWE可用时,mssql2005在windows2000上并非动态管理内存,而是在启动时就尽量获取能获得的内存。但在windows2003上,mssql2005对AWE可用时倒是觉得有动态管理的意思,启动时只是使用一部分AWE映射内存,然后,如果需要更多内存,操作系统可以动态分配给它,如果内存过剩,MSSQL2005又可以动态返还给操作系统。
当你在WINDOWS2000和WINDOWS2003上AWE可用时,MSSQL2005会锁定内存页,因此,这样在内存紧张时,会迫使其他应用交换出内存,因此,使用AWE的同时,应该设定一下max server memory的值,以免因为MSSQL2005需要过多内存而将其他应用程序挤出物理内存。
如果你在同一台机器上运行了多个MSSQL版本,并且AWE可用,那么你一定要密切关注某些配置:
1、确信有max server memory配置;
2、各个实例max server memory配置之和要小于机器的物理内存;
如果各个实例max server memory之和超过了机器的物理内存,那么一些实例讲无法启动或以比max server memory配置小的内存启动;
例如:如果机器内存为48G,三个实例max server memory均为16G,那么第一个实例会以16G内存启动,第二个会以比16G稍少的(最多少128m)内存启动,而第三个会以动态内存模式启动,启动内存最多为128M。
User connections:如果该值为缺省值0,那么MSSQL会动态调整同时连接到SERVER的数量,即使你设置了不同值,MSSQL也不会为所有连接分配足够的内存,直到用户实际连接数据库。当MSSQL启动时,它会分配一个数组,其中有很多项,数目和该配置相同;希望不要把该参数配置过大,毕竟无论用户是否使用,每个连接会占用系统的28k的内存,这对系统来说也是不小的开销。同时,你也不要设置太低,因为当用户实际连接超过该设置时,系统会报错,并且直到其他已连接用户释放一个连接,否则,不能连接(DAC连接除外)。对该配置参数,理想的情况是不要动它,让系统动态调整它。
Locks:该参数配置系统各类锁的数目。缺省值为0,这就是说,当MSSQL启动时,锁管理器会为每个节点(这里本人怀疑作者失误,应该为实例吧)获取足够的内存来生成一个2500个锁的初始锁池。当锁池里的锁用完时,锁管理器会从BUFFER POOL里获取更多的内存。如果要获取的内存比BUFFER POOL里可用内存多,并且可以使用计算机更多内存(目标内存还没达到),那么MSSQL会动态分配更多内存来满足锁需求。动态锁池不能获取超过buffer pool的60%,否则会报错。
如果你把该值设置成非0值,那么MSSQL就失去了动态分配锁的能力,锁的数目不能超过该数目,毕竟锁是要占用系统资源的(96byte)。
该参数还会影响锁升级,当该参数为0时,当锁结构占用内存超过buffer pool的40%时,系统会考虑锁升级;当设置成非0时,当锁用到该参数的40%时,系统考虑锁升级

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/8484829/viewspace-605591/,如需转载,请注明出处,否则将追究法律责任。

主题测试文章,只做测试使用。发布者:深沉的少年,转转请注明出处:http://www.cxybcw.com/184810.html

联系我们

13687733322

在线咨询:点击这里给我发消息

邮件:1877088071@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

QR code