配置:sql2000+sp4 ,server2003 内存 16G,我给sql设置了最大内存10G,问题:我一启动SQL2000 内存占用就在10G以上,用几个小时以后,服务器会很慢,慢2分钟又好了,我的分析:我设置了最大内存,启动的时候sql就全占了,然后一直不会释放内存,至道10G内存快耗尽才释放,在接近内存耗尽的
的时候,服务器就会很卡,释放完之后就恢复.奇怪的是我有几台服务器,只有其中一台会这样,其他的都不会.请教:怎么才能使sql及时释放内存,谢谢!

解决方案 »

  1.   

    CPU,Windows,SQL Server各是多少位的? 32/64.如果是32位的, 需要开启内存管理AWE选项.
      

  2.   

    写个批处理程序,把sql server服务重新启动。最好在服务器的设置时候设置一下上线的值。否则就会出现耗尽的状态。
      

  3.   

    既然已经开启了AWE选项,那就不要设置最大内存10G, 选择自动管理模式即可.
      

  4.   

    开启AWE后,限制最大内存是正确的做法。如果不限制最大内存,会存在SQL Server占尽Win内存导致系统崩溃的情况。
    楼主的问题需要综合各方面查找原因,对于SQL Server 2000,需要查看一些性能计数器,一般情况下,都需要做一个trace来查看T-sql性能如何,如可远程,可站内消息。
      

  5.   

    启用的awe后,设置自动管理模式就应该没有问题了。