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

  以前的服务器,由于内存的价格过高,一般配置的内存不是很多,超过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

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

posted @ 2007-11-09 11:58  tohen  阅读(654)  评论(0编辑  收藏  举报