壹次网首页 | 工具源码首页 | 技术文章首页 | 文章分类 | | |

文章搜索: 分类 关键字
您的位置:首页数 据 库MS SQL → Audit Login/Logout 导致服务器变慢、死机的原因
Audit Login/Logout 导致服务器变慢、死机的原因
添加日期:2007-11-26 8:27:37     [ ]

最近客户反应,系统会出现3-5分钟的集体死机情况,用sqlserver跟踪分析器查看,发现一个login out 占用了十几分钟的系统时间。目前还没找到问题的根源,在网上收到一些描述:

在网上找到临时解决方案,在数据库连接串中添加以下内容即可缓解:
Enlist=true;Pooling=true;Max Pool Size=300;Min Pool Size=0;Connection Lifetime=300;packet size=1000

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 但还在跟踪从而占用内存. 

 

出处:论坛转载 作者:Joker 点击:
 热点文章
·photoshop制作香烟、烟头、烟雾
·photoshop图片卷角、翻页效果的制作
·用U盘或移动硬盘装《深山红叶袖珍系统Win PE启动..
·photoshop经典恐怖片海报效果教程
·photoshop水晶球质感表现 - 关于光影的细节
·ghost.pif最新变种手动查杀,ARP欺骗挂马+KAV让..
·[css] table-layout:fixed 属性的解说,IE、Fire..
·photoshop制作3D立体小人和字体
·关于zend解密的程序
·自适应页面高度100%方法(表格直接100%高度没有效..
 推荐文章
·如何彻底删除一个不需要的系统服务
·模仿QQ和MSN消息提示的效果
·CC攻击的思路及防范方法
·广告联盟的一些评价
Powered by yici.net
CopyRight (C) 2006-2012 版权所有   [ 依次网 ];未经授权,任何人不得抄袭、仿冒本站
ICP备案:苏ICP备05011771号 证书下载 ICP证号:苏ICP证040301
仪征广目网络信息服务有限公司 版权所有