配置SQL Server(2)——32位和64位系统中的内存配置

发表于:2013-4-19 09:33

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:黄钊吉    来源:51Testing软件测试网采编

  前言:

  本文讲述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使用了最大内存,那么域控制器又会内存不足,引起,应该合理配置内存,以避免内存的溢出。

相关链接:

配置SQLServer(1)——为SQL Server配置更多的处理器

《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号