Windows2003 企业版 + Sql Server2005手工调整数据库服务器内存

 
Windows2003 企业版 + Sql Server2005手工调整数据库服务器内存
 
最近犯了一个大的错误,总以为 Windows2003 能够合理的使用多余的内存,能够智能化处理内存,事实非然。
事情是这样的,我有一台数据库服务器, 32 位,操作系统是 Windows2003 企业版, 4G 内存, 320G存储空间 ,使用 SQLSERVER2005 数据库管理系统, 里边有若干个数据库,平时主要处理大量的业务外,还设置了一些同步,由于及时优化, CPU 一直保持在 5% 以下,各项主要指标观察下来一直正常,如数据库的缓冲命中率保持在 95% 以上等,所以平时就以默认安装的模式运行着,本以为 SQLSERVER2005 能合理的分配内存,至少比 SQLSERVER2000 有了很大的改进,且操作系统也由 Windows 2000Server 更新为 Windows 2003 ,内存不足时无论是系统还是数据库本身都会自动调整内存( Sqlserver2000 需要手工调整,可 Google 一下),最近观察不管是什么时候内存使用都不超过 2G ,且 SQLSERVER2005 占用 1.7G 的现象,开始以为是数据数内存足够了,也没有在意,后来越想越觉得有问题,当操作大表时,数据库占用的内存都有任何改变,于是 Google 一下才发现也需要手工调整,当然是原因一大堆,想想解释得也合理。于是也及时进行了调整,效果还不错。
 
这里把调整的步骤讲给大家,希望有同样问题的朋友参考参考:
1. 打开操作系统启动时 PAE 配置项;
步骤:找到系统安装的引导位置的目录下找到 boot.ini 文件,默认是隐藏只读的,找到 Windows2003 启动配置,在后面加上空格 /PAE , 保存;重启
示例所示:  
multi(0)disk(0)rdisk(0)partition(2)/%systemroot%= "Windows   Server   2003   Datacenter   Edition "   /PAE

 
2 .打开组策略,添加数据库运行所依赖的帐号有权进行锁定内存;大部分情况下,数据库运行的帐号都是系统级的帐号,如 administrator 或者是 administrators 组的帐号,当然也有处于安全考虑的给了一个运行权限很小的帐号,只能运行数据库;所以必须授权该帐号具有锁定内存的权限;
       步骤:开始 -> 运行 ->gpedit.msc-> 组策略 -> 计算机设置 ->windows 配置 -> 安全设置 -> 本地策略 -> 用户权限分配 -> 锁定内存页 -> 本地安全策略设置 -> 添加 -> 选择运行的帐号或者组;
 
3. 重启服务器,远程维护的要查看 boot.ini 是否正确,切起切起,否则后果可想而知;
 
4. 配置数据库,重启后操作系统已支持大内存了,但数据库还是需要配置的;默认都未配置;执行以下命令即可
步骤:打开查询分析器,进行以下操作,这里以 3G 内存给数据库使用为例进行操作,这几条命令分别含义是:打开高级选项,打开锁定内存,设置最大内存,最好是一起完成;
sp_configure 'show advanced options', 1
RECONFIGURE
GO
sp_configure 'awe enabled', 1
RECONFIGURE
GO
sp_configure 'max server memory', 3072
RECONFIGURE
GO
 
5. 重启数据库,当配置项手工配置好后,需要重启数据库,这时你就发现 SQLSERVER2005 数据库占用多大的内存了,再看看数据库的属性也改变了, AWE 上打了勾,最大内存改为 3G 了,以前是很大的,忽悠我 ^-^
 
注意点:
1. 当操作系统 PAE 未打开时,配置数据库是没有用的,数据库会提示出错,告诉你内存锁定系统当前不支持;
2. Boot.ini 文件是隐藏的,只读的,先修改属性后再操作;
3. 数据库重启前最好先备份,防患于未然;
4. 不知是操作系统问题,还是盗版的问题,我的 SQLSERVER2005 在进程任务管理器只有 180M ,经过和朋友确认,才知是显示错误,其实也不知是错误还是就是这样的,我想有一种可能,那就是系统把 3G 划给数据库使用后,自己只有 1G ,他只知道自己分配的那一块给数据库系统 180M 吧;
5. 数据库的内存设置有一个合理限度,根据服务器业务多少确定,但不能超过物理内存,我觉得至少得留 500M 给系统吧,另外如果系统中还有其他的服务在使用也要考虑进去,否则系统内存不足,引起磁盘页面交换频繁,反而使性能有所下降。
 
2008-03-11
LiveCoach
 
 
 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值