现在的位置: 首页 > 综合 > 正文

配置 SQL Server 以便使用 2 GB 以上的物理内存(包括SQL Server 2005)

2013年05月27日 ⁄ 综合 ⁄ 共 3776字 ⁄ 字号 评论关闭

1.    概要

使用Windows 2000 Server 的操作系统,对于SQL Server而言,需要打开操作系统的3G开关,它才能利用到2G以上的物理内存,否则这些4G以上内存只有2G能够被SQL Server使用到。

      如果服务器上的内存高于4G,请打开操作系统的/3G开关。这样重新启动后,SQL Server将会自动利用大内存来提升数据库的性能,而不再受到2G的内存使用限制!

    使用Windows 2000 Advanced ServerWindows 2000 Datacenter Windows Server 2003如果使用 Boot.ini /PAE 开关和 AWE 启用选项SQL Server 2000 就可以使用4G以上内存。

2.    支持的操作系统版本

l          Windows 2000 Server

通常情况下,SQL Server 2000 Enterprise Edition SQL Server 2000 Developer Edition 最多可以使用 2 GB 的物理内存。如果使用 AWE 启用选项,SQL Server 最多可以使用 4 GB 的物理内存。

由于在 Microsoft Windows 2000 Server 上不能使用“物理地址扩展”(PAE),因此无法为 Windows 2000 Server 上的应用程序分配 4 GB 以上的物理内存。

注意:此外,Windows 2000 Server 不能在 Boot.ini 文件中使用 3 GB 开关;

不过,Microsoft Windows 2000 Advanced Server Microsoft Windows Datacenter 版本却可以在 Boot.ini 文件中使用 3 GB 开关。

l          Windows 2000 Advanced ServerWindows 2000 Datacenter Windows Server 2003

32 位寻址模式可以提供的最大物理内存量为 4 GB。所有基于 IA-32 结构的处理器(从 Intel Pentium Pro 开始)都支持一种新的 36 位物理寻址模式,称为“物理地址扩展”(PAE)PAE 允许 Windows 2000 Advanced Server 上最多使用 8 GB 的物理内存,允许 Windows 2000 Datacenter Server 上最多使用 32 GB 的物理内存。这是因为,根据测试,Windows 2000 Datacenter Server 上的内存限制为 32 GBPAE 模式内核需要 Intel 结构的处理器 Pentium Pro(或更高性能的处理器),以及 Windows 2000 Advanced Server Windows 2000 Datacenter

Windows Server 2003 上支持的最大内存为 4 GB。但是,Windows Server 2003 Enterprise Edition 支持 32 GB 的物理 RAM。使用物理地址扩展 (PAE) 功能,Windows Server 2003 Datacenter Edition 可支持 64 GB 的物理内存。

对于下列系统,可以在 Boot.ini 文件中使用 3 GB 开关:

Microsoft Windows Server 2003

Microsoft Windows Server 2003 Enterprise Edition Microsoft Windows Server 2003 Datacenter Edition

SQL Server 2000 Enterprise SQL Server 2000 Developer Edition 都可以使用下列选项:

如果在 SQL Server 中使用 Boot.ini /PAE 开关和 AWE 启用选项,SQL Server 2000 就可以使用 4 GB 以上的内存。没有 /PAE 开关,SQL Server 最多只能使用 3 GB 的内存。

Windows 2000 Data Center 上,要使 AWE 可以使用 16 GB 以上的内存,请确保在 Boot.ini 文件中没有使用 /3GB 开关。如果在 Boot.ini 文件中使用 /3GB 开关,Windows 2000 可能无法正常提供 16 GB 以上的任何内存。

所有 32 位应用程序都有 4 GB 的进程地址空间(32 位地址最多可以映射 4 GB 的内存)。如下图:


3.    SQL Server 2000配置步骤

3.1.  Windows 2000 Server 配置操作系统支持AWE

3.1.1.   修改BOOT.INI文件

我的电脑->C: (如下图)

3.1.2.   启用操作系统3GB开关  

修改boot.ini文件,在启动windows项中添加 /3GB 参数。修改过后的boot.ini文件应该类似以下内容: 

[boot loader]  

timeout=8  

default=multi(0)disk(0)rdisk(0)partition(1)

[operating systems]  

multi(0)disk(0)rdisk(0)partition(1)="Microsoft Windows 2000 Advanced Server" /3GB /fastdetect   

3.1.3.   启用锁定内存页选项(windows)

启用锁定内存页选项

"开始"菜单上单击"运行"子菜单,然后在"打开"框中键入"gpedit.msc"

"组策略"控制台上,展开"计算机配置",然后展开"Windows 设置"

展开"安全设置",然后展开"本地策略"

选择"用户权限分配"复选框。

详细资料窗格中随即显示出策略。

在详细资料窗格中,双击"锁定内存页"

"本地安全策略设置"对话框中,单击"添加"按钮。

"选择用户或组"对话框中,添加有权运行 sqlservr.exe 的帐户。

 

3.1.4.   启用SQL Server AWE支持  

下面的示例说明了如何启用 AWE 并为服务器内存最大值选项配置 3 GB 的限制:

sp_configure 'show advanced options', 1

RECONFIGURE

GO

sp_configure 'awe enabled', 1

RECONFIGURE

GO

sp_configure 'max server memory', 3072

RECONFIGURE

GO

 

3.1.5.   重新启动服务

为了支持 3 GB 的用户模式进程空间,必须将 /3gb 参数添加到 boot.ini 文件中并重新启动计算机,从而使 /3gb 参数生效。设置此参数后,用户应用程序线程可以寻址 3 GB 的进程地址空间,而为操作系统保留 1 GB 的进程地址空间。

 

3.2.  Microsoft Windows Server 2003 Enterprise Edition 配置操作系统支持AWE

3.2.1.   修改BOOT.INI文件

我的电脑->C: (如下图)

3.2.2.   启用操作系统/PAE开关  

如果在 SQL Server 中使用 Boot.ini /PAE 开关和 AWE 启用选项,SQL Server 2000 就可以使用 4 GB 以上的内存。没有 /PAE 开关,SQL Server 最多只能使用 3 GB 的内存。

Windows 2000 Data Center 上,要使 AWE 可以使用 16 GB 以上的内存,请确保在 Boot.ini 文件中没有使用 /3GB 开关。如果在 Boot.ini 文件中使用 /3GB 开关,Windows 2000 可能无法正常提供 16 GB 以上的任何内存。

 

[boot loader]

timeout=30

default=multi(0)disk(0)rdisk(0)partition(1)/WINDOWS

[operating systems]

multi(0)disk(0)rdisk(0)partition(1)/WINDOWS="Windows Server 2003, Enterprise" /noexecute=optout /fastdetect /PAE

3.2.3.   启用锁定内存页选项(windows)

启用锁定内存页选项

"开始"菜单上单击"运行"子菜单,然后在"打开"框中键入"gpedit.msc"

"组策略"控制台上,展开"计算机配置",然后展开"Windows 设置"

展开"安全设置",然后展开"本地策略"

选择"用户权限分配"复选框。

详细资料窗格中随即显示出策略。

在详细资料窗格中,双击"锁定内存页"

"本地安全策略设置"对话框中,单击"添加"按钮。

"选择用户或组"对话框中,添加有权运行 sqlservr.exe 的帐户。

 

3.2.4.   启用SQL Server AWE支持  

下面的示例说明了如何启用 AWE 并为服务器内存最大值选项配置 6 GB 的限制:

sp_configure 'show advanced options', 1

RECONFIGURE

GO

sp_configure 'awe enabled', 1

RECONFIGURE

GO

sp_configure 'max server memory', 6144

RECONFIGURE

GO

3.2.5.   重新启动服务

必须重新启动 SQL Server 2000 实例才能使更改生效。

net stop mssqlserver

net start mssqlserver

这样,SQL 服务启动后,就会把6G的内存给锁定,完全供SQL使用

4.    SQL Server 2005配置步骤

4.1.  Windows Server 2003使用SQL Server 2005概述

SQL Server 2005

抱歉!评论已关闭.