SQL server服务器大内存配置

网络整理 - 07-27

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

  在本文中,我大致讲一下配置的过程.(如果服务器的内存少于4G,不用配置)(网上完全讲这个的,没有见过,随手写一个)

  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)

  启用锁定内存页选项

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

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

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

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

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

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

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

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

  3.启用SQL的AWE

  若要启用 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。

  code 如下,设定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

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

  net stop mssqlserver

  net start mssqlserver

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

  参照SQL帮助文件