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

本文涉及的产品
云数据库 RDS SQL Server,独享型 2核4GB
简介: 1.    概要 使用Windows 2000 Server 的操作系统,对于SQL Server而言,需要打开操作系统的3G开关,它才能利用到2G以上的物理内存,否则这些4G以上内存只有2G能够被SQL Server使用到。

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<?XML:NAMESPACE PREFIX = O />

通常情况下,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 的内存)。如下图:

<?XML:NAMESPACE PREFIX = V />

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, <?XML:NAMESPACE PREFIX = ST1 />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 支持在 Windows Server 2003 上动态分配 AWE 映射内存。通过允许访问超过在所配置虚拟内存地址空间上设置的限制的可用物理内存,AWE 可扩展 32 位操作系统上运行的应用程序的功能。

启动过程中,SQL Server 仅保留一小部分 AWE 映射内存。需要额外的 AWE 映射内存时,操作系统会动态地将其分配给 SQL Server。同样,如果需要更少的资源,SQL Server 会将 AWE 映射内存返还给操作系统,以供其他进程或应用程序使用。SQL Server 和操作系统之间的这种平衡受到 min server memory max server memory 参数的限制。

Windows Server 2003 中运行 SQL Server 2005 时,无需重新启动 SQL Server 实例,SQL Server 即可响应 max server memory min server memory 配置选项的更改。

Windows Server 2003 下,如果服务器的物理内存小于虚拟内存地址空间上已配置的限制,则该服务器支持动态 AWE 映射内存。在这种情况下使用 AWE 不会对性能产生影响,但添加的物理内存超过虚拟内存地址限制时,可以在不重新启动服务器的情况下使用此物理内存。

4.2.  启用AWE

对于 Windows Server 2003,由于 AWE 映射内存管理是动态的,因此在启动过程中,只分配总可用物理内存的一小部分。

如果已成功启用此选项,当 SQL Server 2005 实例启动时,SQL Server 错误日志中将写入消息“Address Windowing Extensions enabled”。

必须在启用 AWE 之前为 SQL Server 帐户授予 LOCK PAGE IN MEMORY 权限。

awe enabled 选项是一个高级选项。如果使用 sp_configure 系统存储过程来更改该设置,则只有在 show advanced options 设置为 1 时才能更改 awe enabled。必须重新启动 SQL Server 实例,AWE 才会生效。

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

启用锁定内存页选项

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

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

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

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

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

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

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

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

4.4.  启用SQL Server 2005AWE支持

若要启用 AWE,请将 awe enabled 设置为 1。除非指定了 max server memory 的值,否则 SQL Server 将保留几乎所有可用内存,只留下 128 MB 或更少。

如果已成功启用该选项,则当 SQL Server 2000 实例启动时,SQL Server 错误日志中将出现"已启用地址窗口扩展"这条消息。

awe enabled 是高级选项。如果正在使用 sp_configure 系统存储过程更改该设置,则只有

show advanced options 设置为 1 时才能更改 awe enabled

 如下:设定SQL 使用6G的内存

  sp_configure 'show advanced options', 1

  RECONFIGURE

  GO

  sp_configure 'awe enabled', 1

  RECONFIGURE

  GO

  sp_configure 'max server memory', 6144

  RECONFIGURE

  GO

4.5.  重新启动服务

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

 net stop mssqlserver

 net start mssqlserver

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

相关实践学习
使用SQL语句管理索引
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句管理索引。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS&nbsp;SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/sqlserver
目录
相关文章
|
6天前
|
SQL 数据可视化 算法
SQL Server聚类数据挖掘信用卡客户可视化分析
SQL Server聚类数据挖掘信用卡客户可视化分析
15 2
|
4天前
|
SQL 机器学习/深度学习 数据采集
数据分享|SQL Server、Visual Studio、tableau对信贷风险数据ETL分析、数据立方体构建可视化
数据分享|SQL Server、Visual Studio、tableau对信贷风险数据ETL分析、数据立方体构建可视化
15 0
|
4天前
|
存储 算法 内存技术
深入理解操作系统内存管理:从虚拟内存到物理内存的映射
【4月更文挑战第30天】 在现代操作系统中,内存管理是一个复杂而关键的功能。它不仅确保了系统资源的有效利用,还为每个运行的程序提供了独立的地址空间,保障了程序之间的隔离性和安全性。本文将探讨操作系统如何通过分页机制和虚拟内存技术实现内存的抽象化,以及这些技术是如何影响应用程序性能的。我们将详细解析虚拟地址到物理地址的转换过程,并讨论操作系统在此过程中扮演的角色。文章的目的是为读者提供一个清晰的框架,以便更好地理解内存管理的工作原理及其对系统稳定性和效率的影响。
|
5天前
|
SQL 数据采集 数据挖掘
SQL Server仓储物流公司visual studio发货数据仓库设计
SQL Server仓储物流公司visual studio发货数据仓库设计
12 0
|
6天前
|
SQL 机器学习/深度学习 算法
SQL SERVER ANALYSIS SERVICES决策树、聚类、关联规则挖掘分析电商购物网站的用户行为数据
SQL SERVER ANALYSIS SERVICES决策树、聚类、关联规则挖掘分析电商购物网站的用户行为数据
21 2
|
6天前
|
SQL 机器学习/深度学习 数据挖掘
SQL Server Analysis Services数据挖掘聚类分析职业、地区、餐饮消费水平数据
SQL Server Analysis Services数据挖掘聚类分析职业、地区、餐饮消费水平数据
12 0
|
10天前
|
SQL 数据管理 关系型数据库
如何在 Windows 上安装 SQL Server,保姆级教程来了!
在Windows上安装SQL Server的详细步骤包括:从官方下载安装程序(如Developer版),选择自定义安装,指定安装位置(非C盘),接受许可条款,选中Microsoft更新,忽略警告,取消“适用于SQL Server的Azure”选项,仅勾选必要功能(不包括Analysis Services)并更改实例目录至非C盘,选择默认实例和Windows身份验证模式,添加当前用户,最后点击安装并等待完成。安装成功后关闭窗口。后续文章将介绍SSMS的安装。
11 0
|
18天前
|
XML SQL 存储
SQL Server的索引选择
SQL Server的索引选择
8 0