sql server是根据需要自动扩充内存的,而且不会归还
你可以设置sql server 的内存数,默认是自动扩展

解决方案 »

  1.   

    其实,稳定的应用可以考虑不使用动态分配内存的方法,在 jinfeng_wang(G-G-S,D-D-U) 所说的属性--〉"内存"选项卡,选择“使用固定的内存大小”,不过给sql server的内存量你自己需要计算,给操作系统留足够的内存。或者:如果选择动态非培,设好做大内存和最小内存的数量,默认的只给操作系统留4-10M。
      

  2.   

    Yang_(扬帆破浪) 先生的两种方法我都使用过,
    (1)使用固定内存,SQL SERVER的内存占用很稳定,但是在多用户大量查询时,响应非常慢。
    (2)使用动态内存,就是目前这种状况,内存占用是越来越多,而不能有效地释放内存。但HELP 手册中说:Microsoft® SQL Server™ 7.0 根据需要动态获取和释放内存。管理员通常不必指定应给 SQL Server 分配的内存量,但该选项仍然存在,且在某些环境下还是必需的。在计算机上运行多个 SQL Server 实例时,每个实例都可以动态获取和释放内存,以适应实例中工作负荷的变化。
    好象于事实不符,布置各位日常如何解决的?
      

  3.   

    服务器是专用的数据库服务器,以上所指内存为SQL SERVER占用内存
      

  4.   

    我也是发现这个问题,不过我想不是sql server不释放,而是windows它不会收回,用内存整理工具是可以将内存重新释放和回收,sql server是会收回内存,但不知道microsoft是怎么设置的,但不确定具体时间,我估计是在可能空闲而且必须的情况下,释放内存或者重新分配。
      

  5.   

    这样,你把最大内存设置成900M-960M中间的一个数,把最小内存设置成200M-300M中间的一个数试试。(要保证没有其他应用在这个服务器)有可能是你的最小内存和最大内存设置得太近,造成不能释放内存。