Delphi6.0开发的程序在对数据库操作之后,数据库占用的内存(sqlservr.exe占用的内存)为什么一直高居不下,这是为什么?除了对TADOQuery进行close或Active:=False之外(这两种方法也不能让数据库占用的内存降下来),还有别的什么特别的方法可以使数据库占用的内存能降下来?仔细查了一下,也有许多同志有相应的问题,但我并没有发现一个好的解决方法。难道这是MS Server2000的机制造成的,就没有一个解决的办法?请大家帮忙!

解决方案 »

  1.   

    楼主, 你SQL Server是什么配制, 会不会是配制太差了.
    有没有死循环,你先把SQL Server停止,再运行看没有执行任何代码的时候
    CUP使用多少, 再执行Delphi代码反复测试一下!还有有没有可能你电脑中毒了!
      

  2.   

    把sql server的补丁打上看看
      

  3.   

    应该是没打补丁造成的。我也碰到过这种情况,尤其是当你的SQL有个很大的数据库的时候,就算什么都不干,SQLServer进程占用页面文件也在100MB以上,而且一个小时的IO读取过GB。 打了SP3基本就好了。