SQL Server 大容量内存设置实现方法

2022-11-12 09:55:55
内容摘要
这篇文章主要为大家详细介绍了SQL Server 大容量内存设置实现方法,具有一定的参考价值,可以用来参考一下。 对此感兴趣的朋友,看看idc笔记做的技术笔记。 标准的32位地址最多
文章正文

这篇文章主要为大家详细介绍了SQL Server 大容量内存设置实现方法,具有一定的参考价值,可以用来参考一下。

对此感兴趣的朋友,看看idc笔记做的技术笔记。 标准的32位地址最多可映像4 GB内存。因此,32位进程的标准地址空间限制为4 GB。默认情况下,在32位Microsoft Windows操作系统中,将为操作系统保留2 GB空间,另外2 GB空间可由应用程序使用。

在32bit操作系统中,一般SQL Server可以使用的内存不到2G,就算开启了3GB开关,也使用不到3G。现在,内存容量超过4GB的服务器越来越多,如果要SQL SERVER2000可以使用大容量的内存,我们需要做以下设定。

备注:如何开启操作系统3G开关

修改boot.ini文件(要在C盘下看到boot.ini需要在勾掉“隐藏受保护的操作系统文件”),在启动windows项中添加/3G参数。修改过后的boot.ini文件应该类似以下内容:

[boot loader]timeout=8default=multi(0)disk(0)rdisk(0)partition(1)[operating systems] multi(0)disk(0)rdisk(0)partition(1)="Microsoft Windows 2000 Advanced Server"/3G/fastdetect

多了一个/3G参数。这个参数的作用,就是让windows启动时,将自己的内核及支持程序装载到内存地址0xC0000000到0xFFFFFFFF之间,给应用程序留出3G的空间来。

设置SQL Server使用大容量内存步骤:

1.安装SQL Server2000,升级至SP4 (8.00.2039),并打上AWE补丁SQL2000-KB899761-v8.00.2040

2.在C:\boot.ini档中设定/PAE参数,然后重开机,让OS抓到内存

备注:PAE(物理地址扩展)

例子:multi(0)disk(0)rdisk(0)partition(1)="Microsoft Windows 2000 Advanced Server"/fastdetect/PAE

3.在SQL Query Analyzer中输入下列指令,来启动SQL Server的AWE功能(这里设定内存为6G):

sp_configure 'show advanced options', 1RECONFIGUREGOsp_configure 'awe enabled', 1RECONFIGUREGOsp_configure 'max server memory', 6000RECONFIGUREGOsp_configure 'allow updates', 1RECONFIGURE WITH OVERRIDEGO

4.在控制面板--管理工具--本地安全策略(或域安全策略中)--安全设置--本机策略—用户权限分配右边窗口中选取“内存中锁定页面”,在其设定画面新增用户或组,加入MSSQLSERVER服务的启动账号(比如administrator)。

5.在命令提示符号下输入

secedit /refreshpolicy machine_policy /enforce或是gpupdate (gpupdate针对windows xp, 2003)secedit/refreshpolicymachine_policy/enforce(针对windows2000)

Windows 2000接受此请求后,会向用户显示以下文本:

来自域的组策略传播已为这台计算机触发。要完成传播并使新策略生效,需要几分钟的时间。请检查应用程序日志。

Windows 2003下执行gpupdate后的结果。

C:\>gpupdate

正在刷新策略...

用户策略刷新完成。

计算机策略刷新完成。

要检查在策略处理中的错误,请查阅事件日志。

6.重新启动SQL Server服务使设定生效

7.在SQL Query Analyzer中输入下列指令,来关闭SQL Server的allow updates功能:

sp_configure 'allow updates', 0RECONFIGURE WITH OVERRIDEGO

8.开启任务管理器看看内存是否跟设定值一样

术语解释:

PAE(Physical Address Extension):PAE是IA32处理器新增的功能,可以寻址4 GB以上的物理内存。Microsoft Windows 2000 Advanced Server、Microsoft Windows 2000 Datacenter Server、Microsoft Windows Server 2003,企业版和Microsoft Windows Server 2003,Datacenter Edition可以使用PAE寻址超过4 GB的物理内存。如果要启用PAE,请使用Boot.ini档案中的/PAE参数。

AWE(Address Windowing Extensions):AWE是一个API集,它使程序能够保留大内存块。保留的内存是非分页的,并且只可以由该程序来使用。

注:关于SQL Server 大容量内存设置实现方法的内容就先介绍到这里,更多相关文章的可以留意

代码注释

作者:喵哥笔记

IDC笔记

学的不仅是技术,更是梦想!