一个有关SQL Server的内存问题。(100分)

  • 主题发起人 主题发起人 china2k
  • 开始时间 开始时间
C

china2k

Unregistered / Unconfirmed
GUEST, unregistred user!
我用ADOQuery来在SQL Server数据库中添加数据。我先用ADOQuery的Append..Post的方法,
运行后发现程序的内存不断上涨,而且CPU的占用率十分高。后改用SQL语句的Insert...Values
的方法来添加数据,程序的内存不再变化,CPU的占用率也很低,但发现SQLServer的内存直线上涨,
而且比原来涨得更多了,不知如何解决,请各位高手指教。在线等候。
 
是不是因为没有提交的缘故,
第一次操作的是客户端的缓存,所在程序内存上涨,
第二次操作的是服务器端的缓存,所以sql的内存上涨。
 
谢谢,那如何提交呢?
 
一般不会这样,有没有改变ADOQuery的一些默认属性。
再做一个试试。
 
应该不是这个问题,我用SQL Server客户端试过,也出现同样的情况。
 
如果用append的话试试把缓存关掉,直接提交更新数据库。
如果用insert的话用事务控制提交,
试试行不行
 
谢谢,用append的方法我已经决定不用了。
我是菜鸟一个,我还得请教你如何用事务提交?请耐心帮我解答一下好吗?
 
用ClientDataSet增加所有记录,完成后提交给服务器,再更新SQL数据库
 
如何提交呢?
 
你的SQL运行完后就已经提交了(又没有进行事务处理,何来提交一说)
 
谢谢,那如何解决SQL Server服务端内存疯涨的问题呢?
 
设置sql server “属性”有个选项可以设置sql server 占用内存数
 
那是不是到了这个最大值就不再往上涨了?
 
要不都用动态生成吧,用完都free了,应该内存都会释放
 
在程序中如何Free SQL Server的内存?
 
你管那么多干吗,服务器又没有崩溃,接着用就是了。
 
因为数据量比较大,我怕时间长了会有问题。
 
我在SQL Server的“属性”中设置sql server 占用内存数,但超过这个最大值后还在涨。为什么?
 
后退
顶部