当前位置:主页>仓库管理软件> 列表

sqlservr.exe内存利用不断增长。源代码如下... 找免费家庭记账软件

仓库管理软件版1楼: 程序执行环境:
WindowsXP SP2,Windows2000Pro
SqlServer2000 没有打补丁

在定时器里每秒执行查询数据表。
为什么sqlservr.exe不断增长,每次大约增长40k。
为什么会出现这种情况,怎样解决?

我把定时器关了,就不出现这种情况了。
我想,应该还有这种情况,只是执行一次变化不大而已。

数据集也关了,是代码的问题吗,还是SqlServer本身查询一次就会使用内存并不释放?

//判断是否到了重启时间
function TFrmMain.IsRebootTime(HHMMSS: string): boolean;
begin
with data1.adocyc do
begin
close;
sql.Clear;
sql.Add(Format(cnSqlReboot, [HHMMSS]));
open;
if RecordCount = 1 then
begin
result := true;
end
else
begin
result := false;
end;
close;
end;
end;

//定时器不断查询
procedure TFrmMain.Timer1Timer(Sender: TObject);
begin
//是否重启时间.
if IsRebootTime(FormatDateTime(''HH:MM:SS'', now)) then
begin
ReBoot() //重启
end;
end;

2楼: 帮顶了 如免费家庭记账软件

3楼: 你的 ReBoot 是重启设备?cnSqlReboot 又是什么?

4楼: 如果没有数据更新, 定时查询可以放在缓存中进行啊. 这样快速.

5楼: SQL可以设定内存的使用的

6楼: ReBoot 是重起计算机,cnSqlReboot 是sql语句.