内存爆涨问题!!!高手请进!

寒星 2002-05-08 09:37:24
手中一B/S项目遇到了一个大问题,SQL SERVER在一个小时之内的“内存使用”爆涨到四、五百兆,用sp_who查看发现有很多sleeping的进程。请问是哪里出了问题?此项目用的是ASP+SQL SERVER 2000,主要是通过在COM使用ADO与SQL SERVER通信。
...全文
51 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
prjM 2002-05-08
  • 打赏
  • 举报
回复
1、Close原来的连接
2、在Server属性中限制SQL SERVER的最大内存
寒星 2002-05-08
  • 打赏
  • 举报
回复
To N_CHow('"&[*/--!~*[]測試):
Recordset的CursorLocation设的是adUserClient,问题应该不在这儿。COM中ADO的用法一般如下:
Dim Conn as New Adodb.Connection
Dim rs as New Adodb.Recordset

Conn.Open Connstr
Conn.CursorLocation = adUserClient

rs.ActiveConnection = Conn
rs.Open SQL

Set rs = Nothing
Set Conn = Nothing
stwangyan 2002-05-08
  • 打赏
  • 举报
回复
是不是打开的ado用完后没有关闭?
关注!
N_chow 2002-05-08
  • 打赏
  • 举报
回复
No,no,no,no,,,,,,

我想這問題得用斷線式Recordset來解決,否則几十萬筆資料都Recordset留在Server端,可不是什麼好事。

結集集Select出來後,把ActiveConnection設為Nothing.同時把CursorLocation設為adUseClient.
寒星 2002-05-08
  • 打赏
  • 举报
回复
没有。原因是COM的方法需要传回一个recordset,如果将Connecton给Close掉的话,将无法传回recordset了。此项目有几十万条数据,是不是每Select一次内存就会大幅上升一次?
zhuzhichao 2002-05-08
  • 打赏
  • 举报
回复
操作完是否將連接close?

34,588

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧