服务器是8G内存,怎么能让数据库sql2000  使用大内存,现在在企业管理器里面分配了6G  但数据库还是只用了1.7G左右队了换数据库,还有什么其它的办法。服务器是windows2003R2版的

解决方案 »

  1.   

    ---SQL Server对大容量内存的支持
    32位操作系统有个很大的缺陷,应用程序无法访问大于4G的进程地址空间,因为32位的指针无法保存大于4G的地址空间
    如果大于4G,则需要使用地址窗口化扩展插件(AWE),具体操作如下:
    1,启动物理地址扩展
    (1)找到C:\boot.ini,并删除其只读属性.
    (2)编辑boot.ini,在ARC路径中添加/PAE参数.例如:
    在windows Server 2003 Enterprise Edition 中,编辑后的ARC路径如下:
    muti(0)disk(0)partition(1)windows="windows Server 2003 Enterprise,Edition"/fastdetect/PAE
    保存后将其恢复为只读模式,然后重新启动计算机。如果计算机上的可用物理内存超过16G,应确保boot.ini文件中没有/3gb参数---如何启动AWE选项
    sp_configure'show advanced options',1
    reconfigure
    go
    sp_configue 'awe enabled',1
    reconfigure
    go
      

  2.   

    这个在网上也看了,说只支持sql 2005  不知道是不是真的。。另外现在的操作系统看了下能识别出8G的内存。。正常启动没加参数
      

  3.   

    1、运行下面的语句sp_configure 'show advanced options', 1
    RECONFIGURE
    GO
    sp_configure 'awe enabled', 1
    RECONFIGURE
    GO
    sp_configure 'max server memory', 8192
    RECONFIGURE
    GO2、在企业管理器中设置内存项为8G并固定即可。
      

  4.   

    1.  boot.ini 要加上 /PAE 参数,让操作系统识别>4G以上的内存2.  将sql服务启动帐号给"锁页"权限3. 打开AWE选项
      

  5.   

    确定几个问题。一、windows 2003 R2 版的  是不是启动后面必须加参数。。我系统属性能看到他已经识别出8G的内存,服务器是dell R410二、网上有人说  sql 增加内存的语句  只支持 sql2005  ,2000能不能支持。有没有人实现过。
      

  6.   


    sql server 2000 是确定支持的.
    不过要至少打上sp4,有些服务器还要打上sp4之后的一个hotfix.
      

  7.   


    1. 如果你的windows 2003 R2 版是32位的,那么不加/PAE是绝对不可能看见8GB的内存. 你能看见说明/pae参数已经加上2. 2000支持8gb内存,如perfect所说,最好打上sp4.
      

  8.   


    运行 gpedit.msc
    电脑设定-->windows设定-->安全性设定-->本机原则-->使用者权限指派
    找到 "锁定记忆体分页" ,然后把sqlserver服务的启动帐号加上
    (我电脑是繁体)
      

  9.   

    启动参数已经加过了。。sql的语句也运行过了。 同时SQL2000-KB899761-v8.00.2040-x86x64-CHS.exe这个补丁也装过了。。现在服务器重启后,看SQL的日志显示 :initdata: 警告: 未能将工作集的大小设置为 3145728 KB。
    我测试时先调整的3G的内存。。
      

  10.   


    你的min memory 跟max memory分别是怎么设置的?
      

  11.   

    SQL启动时不会马上就占用到 min memory 设定的内存.
      

  12.   


    sp_configure 'show advanced options', 1
    RECONFIGURE
    GO
    sp_configure 'awe enabled', 1
    RECONFIGURE
    GOsp_configure 'min server memory', 1024
    RECONFIGURE
    GO
    sp_configure 'max server memory', 3072
    RECONFIGURE
    GO现在就是启动后,在sql 日志里看到如下内容:
    使用 dynamic 锁分配。[2500] 锁块,[5000] 锁所有者块。已为 thread 模式处理而配置了 SQL Server。initdata: 警告: 未能将工作集的大小设置为 3145728 KB。
      

  13.   

    那个锁定内存页面的帐号,应该是哪一个。。我将administrator 和system 两个用户都加上了,都不行
      

  14.   

    日志没什么问题.你的sql已经启用了awe分配内存了。
      

  15.   

    我自己在企业管理器里面查了几张大表。。内存长到1.8G 时,SQL 提示 内存不足。
      

  16.   

    帖出
    DBCC MEMORYSTATUS 的输出结果另,你的sql server 2000是什么版本?
      

  17.   

    提示的内存不足是 mmc.exe 啊!!!不是sqlserver服务,明白吗?
      

  18.   

    你看内存使用那一栏mmc.exe占1.4G内存, sqlserver.exe只占91MB (AWE分配的内存不在这里显示)
      

  19.   


    那按这样说,除了SQLserver.exe 用了AWE 可以单进程超过2GB,  其它的任何进程即使系统开了/pae 也不能超过2GB是吗?
      

  20.   

    经测试,我的为Win2003sp2,sql2000sp4,系统可以使用超10G以上内存!按12楼的做就可以的。锁定页面权限在组策略中做设置。