关于SQLServer2000服务进程在Win2k中内存释放的问题

公司有一台专供数据查询的SQLServer2000服务器,操作系统是Win2000server,系统启动后自动开启sqlserver2000服务,此时用任务管理器查看sqlserver服务进程占用内存为9M多,但是经过本机或网络的几次大规模数据查询后,sqlserver服务进程占用的内存量竟达到了100M之多,并且在查询结束后一直不自动释放内存,必须将sqlserver服务停止后再重新开启才会回到原始占用状态(大概9M左右)。请问此为何故?有什么解决办法?
谢谢!!!
---------------------------------------------------------------

不管他,该下来的时候他会自动下来的。
不过,连接方面的程序要注意不时清除不用了的东西。
---------------------------------------------------------------

也可在企业管理器里面设许可的最大内存。
---------------------------------------------------------------

KAO,打的全部因为一个FAIL就没有了!

CSDN 真是烂!

重新写吧:

我想楼主出现这个的原因是:你的程序所占用的资源没有释放掉,如果正常的释放掉了,是应该不会出现这样的问题的,要不然的话,MS的SQL SERVER早被一些DBA剁成八块扔掉去喂狗了!
---------------------------------------------------------------

在sqlserver的进程信息中显示状态为sleeping的进程是如何释放的,还是根本就不能释放?

select * from sysprocesses可以看到表内容
---------------------------------------------------------------

在SQLSERVER中设置最高使用内存
---------------------------------------------------------------

数据库操作系统自动占用最大可利用内存
---------------------------------------------------------------

不是马上就能释放的

---------------------------------------------------------------

一般应该是半小时释放吧,但半小时后也不释放是怎么回事呢?
---------------------------------------------------------------

sql server本身就会不停的吃内存,这是SQl Server的优化功能,如果内存占用的最多的不是SQL Server,则反而会有问题---其他程序在和SQL抢内存
---------------------------------------------------------------

你没看到我说的还是不相信?如果SQL Server每次都等需要使用内存的时候才向系统请求那简直太低效了,所以SQL Server在系统没有其他程序抢占大量内存的时候会预先请求内存,然后放入自己的内存池中,每次使用内存都是先去找内存池中是否有空闲的内存块,没有才会向系统请求

Published At
Categories with 数据库类
Tagged with
comments powered by Disqus