SQL 数据库服务器默认的设置,使用的内存不会超过1.8G
如何提高内存使用,参看下文,通常我们可以为操作系统和java预留2g的内存,其他都可以给sqlserver
1.如果是32位的系统,需要打开系统中的大内存支持(windows) 或安装64位的操作系统。
若要启用 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),注意,如果是msde,需要升级到sp4
启用锁定内存页选项
在"开始"菜单上单击"运行"子菜单,然后在"打开"框中键入"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的内存
exec sp_configure 'show advanced options',1
RECONFIGURE
GO
exec sp_configure 'awe enabled',1
RECONFIGURE
GO
exec sp_configure 'max server memory',6144
RECONFIGURE
GO
必须重新启动 SQL Server实例才能使更改生效。
我们的客户,如果查询报表慢,最大的瓶颈都在这个内存使用上,我们以前给客户安装系统,从来没给客户设过大内存配置。