让SQL server 2000使用4G以上的内存
2010-12-19 09:18
453 查看
我的ERP服务器有16G内存,安装了Windows Server 2003 32位企业版,安装了SQL Server 2000 SP4企业版。发现SQLServer.exe只使用了1.7G内存。下面设置SQL Server 2000使用10G内存。
1、 修改Boot.ini文件,在最后一行加入参数“/PAE”
[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
重新启动计算机。
2、 安装SQL Server 2000补丁SQL2000-KB899761-v8.00.2040-x86x64-CHS.exe
如果不安装这个补丁,并且SQL Server 启用了AWE,SQLServer.exe也只能使用系统物理内存的一半,我的服务器16G最多只能使用8G。
原因:发生此问题的原因是,可用缓冲页的总数是基于 SQL 页 (8 KB) 和系统页 (4 KB) 数量的比较结果的,而该比较结果是错误的。在 IA-64 位系统上,由于不执行进行此比较的代码,因此不会发生此问题。
该补丁的下载网址:
http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=7C407047-3F1F-48B8-9E4C-DC32875E1961
3、 启用锁定内存页选项(Windows):
(1)启用锁定内存页选项
(2)在“开始”菜单上单击“运行”子菜单,然后在“打开”框中键入“gpedit.msc”。
(3)在“组策略”控制台上,展开“计算机配置”,然后展开“Windows 设置”。
(4)展开“安全设置”,然后展开“本地策略”。
(5)选择“用户权限分配”复选框。
(6)详细资料窗格中随即显示出策略。
(7)在详细资料窗格中,双击“锁定内存页”。
(8)在“本地安全策略设置”对话框中,单击"添加"按钮。
(9)在“选择用户或组”对话框中,添加有权运行 sqlservr.exe 的帐户。
我这里添加域管理员帐号“cluster”。
4、 开启SQL Server 2000的AWE
检查你的SQLServer 2000有没有开启AWE,请在SQL查询分析器使用下面的语句:
sp_configure 'show advanced options', 1
go
reconfigure
go
sp_configure 'awe enabled'
go
如果 run_value 设置为 1,则服务器上启用了 AWE。
在SQL查询分析器使用下面的语句
sp_configure 'show advanced options', 1
RECONFIGURE
GO
sp_configure 'awe enabled', 1
RECONFIGURE
GO
sp_configure 'max server memory', 10240
RECONFIGURE
GO
5、 重新启动SQL Server服务
开始—运行,输入CMD,依次输入下列命令
Net stop SQLSERVERAGENT
Net stop MSSQLSERVER
Net start MSSQLSERVER
Net start SQLSERVERAGENT
经过上面设置,SQLServer.exe已可以使用10G内存。但是通过“任务管理器”查看进程“SQLServer.exe”只使用了不到100M的内存,这是怎么回事呢?因为这样设置后,任务管理器已无法查看SQLServer.exe具体使用了多少内存,要想查看SQLServer.exe到底使用了多大内存,请执行下面操作:
开始—管理工具—性能—系统监视器,点上面的“+”号,在“性能对象”里选择“SQLServer:内存管理器”,再从列表中选择“总的服务器内存”,点“添加”按钮,点下面的“总的服务器内存”,看“最后”的值就可以了解了。
不明白的,看图片就行了。
1、 修改Boot.ini文件,在最后一行加入参数“/PAE”
[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
重新启动计算机。
2、 安装SQL Server 2000补丁SQL2000-KB899761-v8.00.2040-x86x64-CHS.exe
如果不安装这个补丁,并且SQL Server 启用了AWE,SQLServer.exe也只能使用系统物理内存的一半,我的服务器16G最多只能使用8G。
原因:发生此问题的原因是,可用缓冲页的总数是基于 SQL 页 (8 KB) 和系统页 (4 KB) 数量的比较结果的,而该比较结果是错误的。在 IA-64 位系统上,由于不执行进行此比较的代码,因此不会发生此问题。
该补丁的下载网址:
http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=7C407047-3F1F-48B8-9E4C-DC32875E1961
3、 启用锁定内存页选项(Windows):
(1)启用锁定内存页选项
(2)在“开始”菜单上单击“运行”子菜单,然后在“打开”框中键入“gpedit.msc”。
(3)在“组策略”控制台上,展开“计算机配置”,然后展开“Windows 设置”。
(4)展开“安全设置”,然后展开“本地策略”。
(5)选择“用户权限分配”复选框。
(6)详细资料窗格中随即显示出策略。
(7)在详细资料窗格中,双击“锁定内存页”。
(8)在“本地安全策略设置”对话框中,单击"添加"按钮。
(9)在“选择用户或组”对话框中,添加有权运行 sqlservr.exe 的帐户。
我这里添加域管理员帐号“cluster”。
4、 开启SQL Server 2000的AWE
检查你的SQLServer 2000有没有开启AWE,请在SQL查询分析器使用下面的语句:
sp_configure 'show advanced options', 1
go
reconfigure
go
sp_configure 'awe enabled'
go
如果 run_value 设置为 1,则服务器上启用了 AWE。
在SQL查询分析器使用下面的语句
sp_configure 'show advanced options', 1
RECONFIGURE
GO
sp_configure 'awe enabled', 1
RECONFIGURE
GO
sp_configure 'max server memory', 10240
RECONFIGURE
GO
5、 重新启动SQL Server服务
开始—运行,输入CMD,依次输入下列命令
Net stop SQLSERVERAGENT
Net stop MSSQLSERVER
Net start MSSQLSERVER
Net start SQLSERVERAGENT
经过上面设置,SQLServer.exe已可以使用10G内存。但是通过“任务管理器”查看进程“SQLServer.exe”只使用了不到100M的内存,这是怎么回事呢?因为这样设置后,任务管理器已无法查看SQLServer.exe具体使用了多少内存,要想查看SQLServer.exe到底使用了多大内存,请执行下面操作:
开始—管理工具—性能—系统监视器,点上面的“+”号,在“性能对象”里选择“SQLServer:内存管理器”,再从列表中选择“总的服务器内存”,点“添加”按钮,点下面的“总的服务器内存”,看“最后”的值就可以了解了。
不明白的,看图片就行了。
可用的 SQL Server 2000 SP4 的 Hotfix 的累積清單
http://support.microsoft.com/kb/894905/zh-tw相关文章推荐
- Windows2003及sql server使用大于3G以上内存
- 使 SQL Server 2000 支持 2G 以上的大内存
- Windows2003及sql server使用大于3G以上内存
- ramdisk 4g是如何使用4G以上内存原理
- [SQL Server]在32位操作系统上,使用AWE访问4GB以上的内存。
- oracle如何使用4G以上内存
- 如何让32位的WIN2003服务器使用4G以上内存的方法
- SQL Server使用2G以上内存设置方法
- 在window server 2003上 让sql server 2000用大于4G的内存
- 使用JBDC访问SQL Server 2000
- 如何通过在 SQL Server 的早期版本使用客户端工具连接到的 SQL Server 2005 或 SQL Server 2000 命名实例
- sql server实例内存使用统计
- 『SQL Server 2000 Reporting Services学习笔记』(1)报表管理器的使用 与 通过角色分配配置安全性
- SQL Server在内存足够使用的情况下,此时并不主动清除以前保存的查询计划
- SQL Server误区30日谈 第13天 在SQL Server 2000兼容模式下不能使用DMV
- 使用SQL SERVER 2000的全文检索功能
- 怎么使用SQL Server 2000全文检索-数据库专栏,SQL Server
- sql server 2000/2005 游标的使用操作
- SQL Server为啥使用了这么多内存?
- SQL Server 2000 占内存居高不下可能的原因及其解决方法