操作环境:windows server 2003 R2 Enterprise Edition SP1 + 4G 内存 + Sqlsever 2005

在以上环境中,运行公司的ERP数据服务,sqlserver进程的内存占用在稳定期一直是1600到1700之间,再高也没有超过1700,然后ERP客户端用户经常发生保存单据几分钟都不成功的情况,具体原因不明,但重启sqlserver服务就恢复正常,因此怀疑是内存过小的原因。

以下步骤实现增加sqlserver内存分配量:

首先,在sqlserver management studio 中,在数据库的服务器属性中(非数据库实例的属性),是有内存配置选项的,其中最大服务器内存默认值是一个很大很大的值,但实际上根本没有起作用,像我上面说的一样,我服务器上的sqlserver进程占用的

内存从来没有超过1700。

也可以通过以下语句实现配置:

sp_configure 'show advanced options', 1
RECONFIGURE
GO
sp_configure 'awe enabled', 1
RECONFIGURE
GO
sp_configure 'min server memory', 1024
RECONFIGURE
GO
sp_configure 'max server memory', 3072
RECONFIGURE
GO

但是如果没有在操作系统的启动配置文件里(boot.ini)修改相关配置(添加/PAE),上面的设置是没有起作用的。

所以要使上面的设置可用,需要完成下面的两个必要条件:

一、编辑 Boot.ini 文件,请按照下列步骤操作:

  1. 单击“开始”,指向“设置”,然后单击“控制面板”。
  2. 在“控制面板”中,双击“系统”。
  3. 单击“高级”选项卡,然后单击“启动和故障恢复”下的“设置”。
  4. 在“系统启动”下,单击“编辑”。

下面是我在原有配置下添加“ /PAE”后的结果

multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Windows Server 2003, Enterprise" /noexecute=optout /fastdetect /PAE

二、可以运行sqlserver.exe的用户(在服务的属性中查看“登录”)需要有“锁定内存页”的权限。在组策略中进行设置:

开始->运行->gpedit.msc->组策略->计算机配置->windows配置->安全设置->本地策略->用户权限分配->内存中锁定页面->属性->添加用户或组

完成以上步骤后,重启服务器,再看sqlserver进程占用的内存,发现很小很小,90M左右,但这个其实不是真实的占用,上面给它锁定的内存页应该没有加进去。

昨天下班完成的设置,今天一天ERP没有反馈任何保存不成功的问题,后续再进行观察相关情况。

再提醒下,以上设置都是基于文章开头描述的运行环境,其它系统和环境可能已做改变,具体请查阅相关官方文档。

给sqlserver配置内存参数的更多相关文章

  1. PostgreSQL 配置内存参数

    对于任何数据库软件,内存配置项都是很重要的配置项.在 PostgreSQL 主要有以下几个内存配置参数. shared_buffers: integer 类型,设置数据库服务器将使用的共享内存缓冲区数 ...

  2. webstorm配置内存参数,解决卡顿

    找到WebStorm.exe.vmoptions这个文件,路径如下webstorm安装主目录>bin>WebStorm.exe.vmoptions更改为第二行:-Xms526m第三行:-X ...

  3. Oracle内存参数配置及版本问题

    Oracle的内存配置与Oracle性能息息相关.从总体上讲,可以分为两大块:共享部分(主要是SGA)和进程独享部分(主要是PGA).在 32 位操作系统下 的Oracle版本,不时有项目反馈关于内存 ...

  4. JAVA JVM常见内存参数配置简析

    JVM常见内存参数配置简析   常见参数 -Xms .-Xmx.-XX:newSize.-XX:MaxnewSize.-Xmn(-XX:newSize.-XX:MaxnewSize) 简析 1.-Xm ...

  5. JVM内存参数详解以及配置调优

    基本概念:PermGen space:全称是Permanent Generation space.就是说是永久保存的区域,用于存放Class和Meta信息,Class在被Load的时候被放入该区域He ...

  6. MySQL性能优化-内存参数配置

    Mysql对于内存的使用,可以分为两类,一类是我们无法通过配置参数来配置的,如Mysql服务器运行.解析.查询以及内部管理所消耗的内存:另一类如缓冲池所用的内存等. Mysql内存参数的配置及重要,设 ...

  7. mysql性能优化之服务器参数配置-内存配置

    MySQL服务器参数介绍 MySQL获取配置信息路径 命令行参数 mysqld_safe --datadir=/data/sql_data 配置文件 mysqld --help --verbose | ...

  8. MySQL性能的五大配置参数(内存参数)

    内存参数: 存储引擎/共享日志缓冲区,缓冲区池 innodb_buffer_pool_sizeinnodb_additional_mem_pool_sizeinnodb_log_buffer_size ...

  9. 配置Tomcat-8.5 JVM内存参数

    配置Tomcat-8.5 JVM内存参数 apache-tomcat-8.5与之前的版本存在些许差异,配置方式有所改变,并且针对JVM一些参数不再支持.故本文档主要简介一下如何在apache-tomc ...

随机推荐

  1. andorid studio

    http://www.cnblogs.com/smyhvae/p/4390905.html

  2. NBU是最牛逼的备份软件

    NBU是最牛逼的备份软件 TSM是IBM的备份   好好看看几个厂商 VERITAS 公司下的NBU入门级备份有BEHP的备份软件有DPIBM的是TSMCommvault也非常牛逼这都是做到了小机AI ...

  3. eclipse下切换svn用户

    在eclipse中经常用到用svn进行代码版本控制,为了提交或更新代码的时候不反复地提示我们输入用户名和密码,于是我们就习惯把访问SVN的用户名密码自动保存起来.以便下次自动使用,不要再次手工输入,但 ...

  4. Node.js权威指南 (4) - 模块与npm包管理工具

    4.1 核心模块与文件模块 / 574.2 从模块外部访问模块内的成员 / 58 4.2.1 使用exports对象 / 58 4.2.2 将模块定义为类 / 58 4.2.3 为模块类定义类变量或类 ...

  5. Trailing return types

    Trailing return types是C++11关于函数声明的语言特性之一,旨在解决模版编程遇到的语法相关的问题,先看一个简单例子,感受一下什么是trailing return types: C ...

  6. pm grant 命令

    CustomLocale.apk所需要的权限"android.permission.CHANGE_CONFIGURATION"自Android 4.2,4.2.2起系统定义为and ...

  7. JavaScript XML 兼容处理,序列化和反序列化以及回调事件

    浏览器中XML DOM的支持 IE中通过ActiveXObject实现了XML的支持,存在一下几个版本:Microsoft.XmlDom,MSXML2.DOMDocument,MSXML2.DOMDo ...

  8. 【PHP】将EXCEL表中的数据轻松导入Mysql数据表

    在网络上有不较多的方法,在此介绍我已经验证的方法. 方法一.利用EXCEL表本身的功能生成SQL代码 ①.先在“phpmyadmin”中建立数据库与表(数据库:excel,数据表:excel01,字段 ...

  9. HDU 1520 Anniversary party [树形DP]

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1520 题目大意:给出n个带权点,他们的关系可以构成一棵树,问从中选出若干个不相邻的点可能得到的最大值为 ...

  10. 深入分析Java的序列化与反序列化

    序列化是一种对象持久化的手段.普遍应用在网络传输.RMI等场景中.本文通过分析ArrayList的序列化来介绍Java序列化的相关内容.主要涉及到以下几个问题: 怎么实现Java的序列化 为什么实现了 ...