解决SQL Server2005内存一直上飙

一、为何要使用AWE选项

在未启用AWE特性的情况下,无论服务器配备多大内存容量,SQL Server都将受制于只能使用3 GB内存的32位寻址限定条件

注意: 支持AWE的操作系统只有Windows 2000 Advanced Server 或 Windows 2000 Datacenter Server, 只能在 SQL Server 2000 Enterprise和Developer editions 上使用AWE, 并且使用了AWE的SQL Server内存页将不能被换出

二、先决条件

(一)、配置操作系统支持AWE
要使OS支持AWE,必须在boot.ini 中加入   /pae 参数

(二)、要使用AWE,启动SQLServer服务的帐号必须有内存中锁定页Lock Page in Memory的权限,SQLServer安装时默认允许启动服务的帐户该权限.但如果你从命令行方式下以sqlserver.exe启动一个实例,就必须使用Windows2000组策略手动为该用户配置

如何手动配置:
1、选择开始菜单->运行->gpedit.msc->启动组策略配置
2、选择计算机配置->Windows设置->安全设置-> 本地策略->内存中锁定页->添加, 可以添加具有该权限的用户

三、SQLServer中怎样打开AWE
Use Master
go

EXEC sp_configure 'awe enabled', 1
RECONFIGURE WITH OVERRIDE
GO

四、AWE和Max Server Memory的关系

(一) Max Server Memory已设定
1、如果系统可用内存大于Max Server   Memory并且也大于3G内存, SQL Server 最大将使用Max   Server   Memory
2、如果系统可用内存小于Max Server   Memory但大于3G, SQLServer 最大将使用所有的系统可用内存而只保留128M

(二) Max   Server   Memory未设定
1、如果系统可用内存大于3G, SQLServer最大将使用所有的系统可用内存而只保留128M

2、如果系统可用内存小于3G, SQLServer使用的内存将动态分配,而不管已经设置的AWE选项,系统将在非AWEmode下运行  

===============================================================
启用 AWE 内存
必须通过 SQL Server 2000 企业版实例,使用 sp_configure 选项 awe enabled 专门启用 AWE 内存。
当 awe enabled 设置为 0 时,不使用 AWE 内存,实例默认为使用标准 32 位虚拟地址空间中的动态内存。
当 awe enabled 设置为 1 时,使用 AWE 内存,且实例最多可以在 Windows 2000 Advanced Server 上得到 8 GB 物理内存,在 Windows 2000 Data Center 上得到 64 GB 物理内存。
SQL Server 2000 企业版实例在 awe enabled 设置为 1 的状态下运行时:
实例不动态管理地址空间的大小。
实例将启动时获取的所有内存一直控制到关闭时。
实例的内存页来自 Windows 非换页池,这意味着不能换出实例的任何内存。
必须认真管理 SQL Server 实例在 awe enabled 设置为 1 时使用的内存。如果实例获取了大部分可用的物理内存并作为非换页内存,则其它应用程序或系统进程可能无法得到运行所需的内存。应使用 max server memory 配置设置控制每个使用 AWE 内存的 SQL Server 实例所使用的内存量。有关更多信息,请参见"在 Windows 2000 上管理 AWE 内存"。

你可能感兴趣的:(SQL Server)