关于audit logout的问题

t16qxz 2008-09-11 11:58:59
我现在有个系统,在打开页面的时候差不多等了半分钟到几分钟。后来我去SQL事件探测器中查看。发现一个叫audit logout的东西执行时间很长,要几十秒,有时甚至要几分钟。这个是不是和我页面打开速度慢有直接的关系?为什么会出现在这个东西?可以解决吗?
...全文
259 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Garnett_KG 2008-09-11
  • 打赏
  • 举报
回复

这个要请大版主帮忙了。
t16qxz 2008-09-11
  • 打赏
  • 举报
回复
PROFILE这个东西我只会看。相关操作我不熟啊
CN_SQL 2008-09-11
  • 打赏
  • 举报
回复
说得不清不楚的,你既然PROFILE了,就应该有个统计表,什么事件的什么子事件的什么操作语句耗费了多少时间,所少CPU等信息.
把这些信息给出来.
t16qxz 2008-09-11
  • 打赏
  • 举报
回复
怎么个测试法?
duanzhi1984 2008-09-11
  • 打赏
  • 举报
回复
SQL事件探查器中,偶尔出现的audit logout,执行时间更长,要几十秒,有时甚至要几分钟。

是不是这样?

确定真正的原因在于调用ADO连接SQL Server 2000时,发生异常,错误描述就是“[DBMSSOCN]一般性网络错误。请检查网络文档?
为什么会突然出现“[DBMSSOCN]一般性网络错误。”呢?

但是,那是因为网卡或者网线闪断(“network is down”),造成连接数据库失败,服务又不停地试着去连接。不知道在什么情况下,服务不断报告:

可能是因为同一台服务器和SQL Server之间的连接都没有Close,所以导致连接达到被允许的最大数目,从而

你可以通过SQL语句察看当前与SQL Server保持的连接都来自于哪里,有多少个:
这个方法利用ADO.Command:ut_ActiveConnection方法来建立数据库连接的:

有时候,当第N+1(如:2000个)次建立连接的请求被SQL Server 2000认为超出允许范围时,SQL Server 2000会主动将这一千多个的连接同时全部中断。于是乎,在SQL Server事件探查器中,你也可以看到唰地一下所有的Audit Logout事件出来了。

如果测试程序维持着这些数据库连接的话,内存会持续增长

这个有没有问题?

虽然这种情况出现的比较罕见,但是如果排除了网络质量原因,你也许可以注意一下当前服务器与SQL Server的connection数目是否维持在一个正在高涨的数量。

当连接不断增加的时候,就要当心,服务器连接数据库是有一定限制的,而且达到最大值后,其他程序再次请求连接时,就可能得到“一般性网络错误”的警告,而且错误号80004005也并没有说明到底发生了什么,SQL Server和ADO并不会告诉你连接数已经达到最大值

我认为是ADO版本问题,安装正确版本。

你可以通过下面的SQL语句察看当前与SQL Server保持的连接都来自于哪里,有多少个:

你有没有查一查.
如果连接过多.就会自动Audit Logout
于是乎,在SQL Server事件探查器中,你也可以看到唰地一下所有的Audit Logout事件出来了。
这些都会占用内存的呀.

你试验,看看一台服务器被允许与SQL Server建立最多多少个连接。

总之.你先看一看.是不是连接达到一个数字后.全部CLOSE 但还在跟踪从而占用内存.
t16qxz 2008-09-11
  • 打赏
  • 举报
回复
能说详细点不
wzy_love_sly 2008-09-11
  • 打赏
  • 举报
回复
前台连接open后没有关闭吧,总之连接过多或时间过长就这样
天-笑 2008-09-11
  • 打赏
  • 举报
回复
关注......

22,301

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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