在运行 32 位版本的 SQL Server 2000 SP4 的计算机上启用 AWE 时有些内存不可用

更新信息:Microsoft 在 SP4 的最终内部版本中发现了一个问题,如果用户在运行 SQL Server 时启用了 AWE 支持功能,就会受到该问题的影响。此问题对 ia64 平台没有影响。在 x86 和 x64 系统上,该问题只会影响符合以下条件的用户:已经启用 AWE 并占用了超出 2 GB 的内存(仅适用于 Enterprise、Developer 和 Evaluation 版本);系统的一大半总内存分配给单个 SQL Server 实例。具有此配置的用户应在升级到 SP4 之后获取并应用 Microsoft 知识库的文章 899761 中指定的修补程序。

以下是Microsoft 知识库的文章 899761 内容:

症状

如果启用 Address Windowing Extentions (AWE) 支持,则单个 SQL Server 2000 实例最多只能使用计算机上 50% 的物理内存。

注意:该问题只发生在运行于基于 x86 或基于 x64 的计算机上的 32 位版本的 Microsoft SQL Server 2000 Service Pack 4 中。

例如,如果您的计算机具有 16 GB RAM,且启用了 AWE,则 SQL Server 2000 的单个实例只能访问 8 GB RAM。

要确定 AWE 是否已启用,请从 SQL 查询分析器运行以下脚本:
sp_configure 'show advanced options', 1
go
reconfigure
go
sp_configure 'awe enabled'
go
如果 run_value 设置为 1,则服务器上启用了 AWE。

要查看此现象,请检查系统监视器中的“SQL Server:内存管理器/总的服务器内存 (KB)”计数器。在运行 SQL Server Service Pack 3 (SP3) 的计算机上,该值最大可以为计算机上的物理内存量。在运行 SQL Server SP4 的计算机上,该值永远不会超过物理内存的 50%。

注意
该问题只出现在具有超过 2 GB RAM 的计算机上。
如果使用 AWE 内存,并且将最大服务器内存选项的值设置为低于物理内存的 50%,则不会受到此问题的影响。
AWE 并非在所有版本的 SQL Server 2000 上都可用。例如,AWE 在 MSDE、SQL Server 2000 Standard Edition、SQL Server 2000 Personal Edition 或仅包含 SQL Server 2000 工具的安装上都不可用。
如果在 IA-64 位系统上运行 SQL Server 2000 SP4,则不会受到此问题的影响。

原因

发生此问题的原因是,可用缓冲页的总数是基于 SQL 页 (8 KB) 和系统页 (4 KB) 数量的比较结果的,而该比较结果是错误的。在 IA-64 位系统上,由于不执行进行此比较的代码,因此不会发生此问题。

解决方案

修复程序信息

要获得此修复程序,请访问下面的 Microsoft 网站:
http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=7C407047-3F1F-48B8-9E4C-DC32875E1961 (http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=7C407047-3F1F-48B8-9E4C-DC32875E1961)
重要说明:对于基于 x64 和基于 x86 的计算机,只存在一个下载。该修复程序使用将确定平台和安装正确文件的安装程序技术。

先决条件

SQL Server 2000 Service Pack 4。

要获取 SQL Server 2000 Service Pack 4,请访问下面的 Microsoft 网站:
http://www.microsoft.com/technet/prodtechnol/sql/2000/downloads/default.mspx (http://www.microsoft.com/technet/prodtechnol/sql/2000/downloads/default.mspx)

重新启动信息

应用此修复程序后,不必重新启动计算机。

注册表信息

不必更改注册表。

修复程序文件信息

此修复程序仅包含解决本文列出的问题所必需的文件。此修复程序不包含将产品完全更新到最新版本所必需的所有文件。

此修复程序的英文版具有下表中列出的文件属性(或更新的文件属性)。这些文件的日期和时间按协调通用时间 (UTC) 列出。当您查看文件信息时,该时间将转换为当地时间。要了解 UTC 与当地时间之间的时差,请使用“控制面板”中“日期和时间”工具中的“时区”选项卡。
适用于基于 x86 计算机的 SQL Server 2000 32 位版本
   日期         时间   版本        大小    文件名
-----------------------------------------------------------
14-May-2005  01:11  2000.80.2040.0  9,150,464  Sqlservr.exe     
适用于基于 x64 计算机的 SQL Server 2000 32 位版本
   日期         时间   版本        大小    文件名      平台
---------------------------------------------------------------------
14-May-2005  01:11  2000.80.2040.0  9,150,464  Sqlservr.exe  x86
注意:由于文件的相关性,包含这些文件的最新修复程序或功能可能还包含其他一些文件。

更多信息

有关 AWE 的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
274750 (http://support.microsoft.com/kb/274750/) 在 SQL Server 中如何配置 2 GB 以上的内存
有关 Microsoft SQL Server 更新的命名模式的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
822499 (http://support.microsoft.com/kb/822499/) Microsoft SQL Server 软件更新程序包的新命名模式

有关 Microsoft 在软件发布后更正软件所使用的术语的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
824684 (http://support.microsoft.com/kb/824684/) 有关用于描述 Microsoft 软件更新标准术语的介绍
我的笔记:也就是说,如果打了SQL Server SP4补丁的Win2003(企业版,最大能识别到4G内存),且物理内存超过4G的服务器。如果在boot.ini中加入了pae开关,系统识别到了4G以上的内存。且也开启了SQL Server的AWE开关,也让SQL Server识别到了4G以上的内存。但是如果未打这个补丁,SQL Server最大只能使用一半的物理内存。

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