微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

第十七章——配置SQLServer2——32位和64位系统中的内存配置

前言:

        本文讲述32位和64位系统中的内存配置,在sqlServer 2005/2008中,DBA们往往尝试开启AWE来限制内存。但是,在sqlServer2012以后,这个选项将被弃用,所以不能使用这种方式来控制32位实例的虚拟地址空间。如果你服务器上有很多内存,就只能升级到64位系统。下面是微软给出的内存限制:


        虽然2012以后已经弃用AWE,但是了解一下32位系统如何使用AWE(Address WindowingExtensions)来使得操作系统能够访问更多的内存。如果可用的物理内存比Maximum Server memory选项的还要多,那么sqlServer会锁定在Maximum Server memory选项,如果Maximum Server memory选项没有设置或者物理内存比这个选项设置得还要少,那么sqlServer实例会占用所有可用内存,仅保留256MB。

 

准备工作:

记住当前的Maximum Server memory和Minimum Server memory的值,可以在视图sys.configurations表中查看,这个视图包含有系统级别的的配置信息。

 

步骤:

1、 用以下语句设置sqlServer的最小内存:

EXEC sp_configure 'min server memory (MB)',1024
GO
RECONfigURE WITH OVERRIDE ;
GO


2、 用以下脚本设置最大内存: 

EXEC sp_configure 'max server memory (MB)',3000
GO
RECONfigURE WITH OVERRIDE ;
GO


分析:

        步骤1配置最小内存给sqlServer,认值为0,可以设置最小值小于或等于max server memory的值。

        步骤2配置sqlServer的最大分配内存,认值为2TB,这个值不能少于64M。

        所有的设置都储存在sqlServer的buffer pool中。如果你使用32位系统,你的sqlServer不能使用超过3G的内存。不管你有多少可用内存在服务器上。除非开启了AWE和PAE。

        如果系统中的系统服务仅仅运行了sqlServer,那么设置最大内存即可,但是如果有多个服务同时运行。并且域控制器使用了最大内存,sqlServer将会内存不足,换个角度,如果sqlServer使用了最大内存,那么域控制器又会内存不足,引起,应该合理配置内存,以避免内存的溢出。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐