none
关于SQLServer 2000企业版启用AWE技术问题,头疼ing... RRS feed

  • 问题

  • 环境如下,服务器操作系统为:Windows 2003 Server enterprise edition R2 sp2

                 物理内存为8GB

    安装SQLServer2000 standard edition sp4

    启用awe的步骤

    1.在c:\boot.ini文件最后加入 /pae,然后重启操作系统

    2.启用锁定内存页选项,添加有权运行sqlservr.exe的帐户到"内存中锁定页"的策略中(这里我加入的是administrator)

    3.在SQL Server2000中启用awe enabled

    3.1执行:

    exec sp_configure 'show advanced option',1;

    reconfigure;

    go;

    3.2执行:

    exec sp_configure 'awe enabled',1;

    reconfigure;

    go;

    3.3设定max_server_memory和min_server_memory

    exec sp_configure 'max_server_memory',6144;

    reconfigure;

    exec sp_configure 'min_server_memory',256

    reconfigure;

    4.重启SQLServer服务

    5.在SQLServer2000查询分析器中执行

    select * from sysperfinfo

    order by counter_name

    发现Target Server Memory(KB)为1660784

    显示不是我所期望的6144000

    请问是什么原因呢?

    同样的步骤在SQL Server2005(同样是standard edition)中执行完毕后,其Target Server Memory接近6144000

    非常感谢!

    2010年4月22日 3:49

答案

  • 首先,还是建议 lz 换 64 位 OS 和 64 位 SQL 比较好,即使 AWE 也不能和 64位比。

    1. /3GB   32位 OS 给每个应用程序分配一个32位的内存地址空间,也就是4GB,其中2G是OS自己使用,另2G是应用程序使用。 /3GB 开关是告诉OS,你自己只使用1G,另3G都给应用程序。  /3GB 在 AWE环境中可用可不用,看情况吧。 一般是2GB地址空间不足,特殊情况才用 /3GB.     

    2.  /PAE   物理地址扩展是告诉 32位的OS,使用36位的地址空间。 这个是因为 32位CPU 本身就支持 36位寻址,细节还是查 intel 网站吧。

    AWE 是 SQL 2000 企业版的功能,标准版不支持。SQL2005 以后的标准版中才有。 SQL 2000 的AWE + OS 的PAE 虽然能使 32位的SQL 2000 使用 超过2G的内存,但是它将所有SQL相关数据装入物理内存,不使用页面内存。所以有好处,也有危险,要详细评估。

    以上所有这些, 我在Windows server版曾经发过。在 TechNet文档库中都有,Windows server “企业内存架构”,搜一下这些关键字吧。

    2010年4月26日 9:37

全部回复

  • 不好意思,标题有点问题,应该是SQLServer2000标准版

    2010年4月22日 3:53
  • 请问有人试验过SQL Server的AWE吗?

    谢谢!

    2010年4月22日 6:21
  • 把/3GB开关加上

    8gb的物理内存要两个一起加

    超过8gb可以不要/3gb

    小于4gb只用加/3GB

    2010年4月22日 7:26
  • 把/3GB开关加上

    8gb的物理内存要两个一起加

    超过8gb可以不要/3gb

    小于4gb只用加/3GB


    你好,SQLServer有这样的一个规定吗?

    我记得好像是超过4GB的时候就去掉/3gb的开关的..

    另外我在SQLServer的日志中看到如下报错:

    Cannot use Address Windowing Extensions because lock memory privilege was not granted.

    同时,http://support.microsoft.com/kb/811891这篇文章说了支持SQLServer 2000企业版,不知道对SQLServer标准版支持不支持呢

    2010年4月22日 7:36
  • 如果加上 /3gb就只能使用到3G的內存。。

    我在服務器上安裝sqlserver2000的時候 都只是使用/pae參數就好了


    If you haven't all the things you want,be grateful for the things you don't have that you didn't want.
    2010年4月22日 8:23
  • 另外說明 標準版最多只能使用2G內存
    If you haven't all the things you want,be grateful for the things you don't have that you didn't want.
    2010年4月22日 8:25
  • 把/3GB开关加上

    8gb的物理内存要两个一起加

    超过8gb可以不要/3gb

    小于4gb只用加/3GB


    你好,SQLServer有这样的一个规定吗?

    我记得好像是超过4GB的时候就去掉/3gb的开关的..

    另外我在SQLServer的日志中看到如下报错:

    Cannot use Address Windowing Extensions because lock memory privilege was not granted.

    同时,http://support.microsoft.com/kb/811891这篇文章说了支持SQLServer 2000企业版,不知道对SQLServer标准版支持不支持呢

    Cannot use Address Windowing Extensions because lock memory privilege was not granted.

    說明你的sqlserver服務的啟動帳號并未加入鎖定內存頁的帳號中


    If you haven't all the things you want,be grateful for the things you don't have that you didn't want.
    2010年4月22日 8:26
  • 如果加上 /3gb就只能使用到3G的內存。。

    我在服務器上安裝sqlserver2000的時候 都只是使用/pae參數就好了


    If you haven't all the things you want,be grateful for the things you don't have that you didn't want.


    请问你使用AWE的时候遇到过这样的情况吗?

    SQLServer日志总是提示:

    "Cannot use Address Windowing Extensions because lock memory privilege was not granted."

    但是我已经将administrator用户加入到了启用锁定内存页面策略中了啊,

    并且我SQLServer服务的启动帐号也改成了administrator(默认是本地系统帐户)

    不知道是不是SQL Server 2000 Standard Edition不支持AWE啊?

    2010年4月22日 8:29
  • 那你換個帳號作為sqlserver的啟動帳號,然后將該帳號加入鎖定內存頁中呢?


    If you haven't all the things you want,be grateful for the things you don't have that you didn't want.
    2010年4月22日 8:38



  • Operating System


    Enterprise Edition


    Standard Edition


    Personal Edition


    Developer Edition


    Desktop Engine (MSDE 2000)


    SQL Server CE
    Enterprise Evaluation Edition
    Windows 2000 DataCenter 64 GB 2 GB 2 GB 64 GB 2 GB N/A 64 GB
    Windows 2000 Advanced Server 8 GB 2 GB 2 GB 8 GB 2 GB N/A 8 GB
    Windows 2000 Server 4 GB 2 GB 2 GB 4 GB 2 GB N/A 4 GB
    Windows 2000 Professional N/A N/A 2 GB 2 GB 2 GB N/A 2 GB
    Windows NT 4.0 Server, Enterprise Edition 3 GB 2 GB 2 GB 3 GB 2 GB N/A 3 GB
    Windows NT 4.0 Server 2 GB 2 GB 2 GB 2 GB 2 GB N/A 2 GB
    Windows NT 4.0 Workstation N/A N/A 2 GB 2 GB 2 GB N/A 2 GB


    If you haven't all the things you want,be grateful for the things you don't have that you didn't want.
    2010年4月22日 8:39



  • Operating System


    Enterprise Edition


    Standard Edition


    Personal Edition


    Developer Edition


    Desktop Engine (MSDE 2000)


    SQL Server CE
    Enterprise Evaluation Edition
    Windows 2000 DataCenter 64 GB 2 GB 2 GB 64 GB 2 GB N/A 64 GB
    Windows 2000 Advanced Server 8 GB 2 GB 2 GB 8 GB 2 GB N/A 8 GB
    Windows 2000 Server 4 GB 2 GB 2 GB 4 GB 2 GB N/A 4 GB
    Windows 2000 Professional N/A N/A 2 GB 2 GB 2 GB N/A 2 GB
    Windows NT 4.0 Server, Enterprise Edition 3 GB 2 GB 2 GB 3 GB 2 GB N/A 3 GB
    Windows NT 4.0 Server 2 GB 2 GB 2 GB 2 GB 2 GB N/A 2 GB
    Windows NT 4.0 Workstation N/A N/A 2 GB 2 GB 2 GB N/A 2 GB


    If you haven't all the things you want,be grateful for the things you don't have that you didn't want.

    这个图的意思是SQLServer2000标准版无论是否使用awe都只能使用2GB内存?
    2010年4月22日 8:50

  • If you haven't all the things you want,be grateful for the things you don't have that you didn't want.
    2010年4月22日 8:54

  • If you haven't all the things you want,be grateful for the things you don't have that you didn't want.

    那你換個帳號作為sqlserver的啟動帳號,然后將該帳號加入鎖定內存頁中呢?

    这个方法也试用了,还是报同样的错误
    "Cannot use Address Windowing Extensions because lock memory privilege was not granted."

     

    看来是版本的问题了..可惜我手里没有企业版做测试...

    非常感谢Wison Ho

    2010年4月22日 8:58
  • 首先,还是建议 lz 换 64 位 OS 和 64 位 SQL 比较好,即使 AWE 也不能和 64位比。

    1. /3GB   32位 OS 给每个应用程序分配一个32位的内存地址空间,也就是4GB,其中2G是OS自己使用,另2G是应用程序使用。 /3GB 开关是告诉OS,你自己只使用1G,另3G都给应用程序。  /3GB 在 AWE环境中可用可不用,看情况吧。 一般是2GB地址空间不足,特殊情况才用 /3GB.     

    2.  /PAE   物理地址扩展是告诉 32位的OS,使用36位的地址空间。 这个是因为 32位CPU 本身就支持 36位寻址,细节还是查 intel 网站吧。

    AWE 是 SQL 2000 企业版的功能,标准版不支持。SQL2005 以后的标准版中才有。 SQL 2000 的AWE + OS 的PAE 虽然能使 32位的SQL 2000 使用 超过2G的内存,但是它将所有SQL相关数据装入物理内存,不使用页面内存。所以有好处,也有危险,要详细评估。

    以上所有这些, 我在Windows server版曾经发过。在 TechNet文档库中都有,Windows server “企业内存架构”,搜一下这些关键字吧。

    2010年4月26日 9:37
  • Never use /3gb if server has 16gb or more memory.
    2010年4月26日 14:39