精细分析 sql server服务器的内存配置

9/8/2007来源:SQL技巧人气:5467

以前的服务器,由于内存的价格过高,一般配置的内存不是很多,超过4GB的当然就不多了.现在的服务器,配置超过4GB就很多,在配作SQL 数据库服务器后,很多的人只选默认的设置,虽然可以正常使用,可是却把大量的内存给浪费(SQL服务使用的内存不会超过1.8GB),系统的性能也不能因为的大内存而提升,这是很可惜的。

 

在本文中,我大致讲一下配置的过程。(如果服务器的内存少于4GB,不用配置)

 

1.打开系统中的大内存支持(windows):

若要启用 Windows 2000 Advanced Server 或 Windows 2000 Datacenter Server 支持,大于4GB的物理内存,必须将参数 /pae 添加到 boot.ini 文件中。

 

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

改为:

 

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

这个改好后,要重启系统的。

 

2.启用锁定内存页选项(Windows):

 

1、启用锁定内存页选项

 

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

 

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

 

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

 

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

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

 

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

 

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

 

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

 

3.启用SQL的AWE:

 

若要启用 AWE,请将 awe enabled 设置为 1。除非指定了 max server memory 的值,否

 

则 SQL Server 将保留几乎所有可用内存,只留下128MB 或更少。

 

如果已成功启用该选项,则当SQL Server 2000 实例启动时,SQL Server 错误日志中将

 

出现"已启用地址窗口扩展"这条消息。

 

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

 

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

 

code 如下,设定SQL 使用6GB的内存:

 

sp_configure show advanced options, 1            RECONFIGURE            GO            sp_configure awe enabled, 1            RECONFIGURE            GO            sp_configure max server memory, 6144            RECONFIGURE            GO
 

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

 

net stop mssqlserver            net start mssqlserver