我们现在开发的是一个网络分布式程序,在这里需要频繁的对sqlserver2000进行数据库查询操作,我们在每次操作完毕之后,把所有的ADO控件都释放掉了,但是sqlserver2000所占用的内存一点都没有减少,最后到了200M,导致服务器都没有办法运行了,急盼各位大哥指教。

解决方案 »

  1.   

    仔细了解一下SQL2000的内存使用机制吧.
      

  2.   

    sql server占用200M内存很正常啊。我们的服务器也很经常占用到二三百M内存的。
    当你select一个很大的表时,sql server就把它调入内存,完成时并不退出内存的。这样可以加快下次select的速度。与你释放ADO控件没有关系的。但是连接就要释放,sql server最多只能同时连接46个连接
      

  3.   

    把sql server的sp3装了应该会好一些
      

  4.   

    刚看了个贴
    ---------------------------------
    回复人: zjcxc(邹建) ( ) 信誉:639  2005-09-03 12:38:00  得分: 0  
     
     
       sql的内存管理机制就是这样的, 如果内存使用没有达到可用内存上限,则会为新需求一直分配内存.你可以在企业管理器--右键SQL实例--属性--内存中设置SQL Server使用内存的上限.