SQL Server"审核注销"操作需要很长时间.

Ter*_*ton 13 asp.net-4.0 sql-server-2008-r2

我们有一个存储过程,全天有15个用户每天调用大约300,000次.我已经倾注了每一条线,它和我能得到的效率一样高.

存储过程通过4.0上的ASP.NET页面从基本Winterms上的旧版VB6应用程序访问.

当我查看SQL跟踪文件时,我看到以下内容:

  1. exec sp_reset_connection(使用连接池)
  2. 审核登录
  3. 执行存储过程
  4. 审核注销

我在第4步看到,读取和写入都很高,这是有道理的,因为它是在池中重用的连接的累积.

我关心的是需要多长时间,有时需要50ms,有时需要400ms,这完全是随机的.从文档中我读到"审核注销"是所有三个步骤的整个持续时间.但步骤1-3非常快,如0-5ms.为什么"审核注销"持续时间需要这么长时间?

小智 7

我现在正在"处理"类似的问题,偶然发现了这篇文章:http://social.msdn.microsoft.com/Forums/en/sqldatabaseengine/thread/84ecfe9e-ff0e-4fc5-962b-cffdcbc619ee

也许这(在上面提到的帖子中)是解决方案:

"我的分析中发现了一个错误.当从池中取出连接时,服务器会发送一个sp_reset_connection.该重置会调用audit_logout,然后是audit_login.下一次audit_logout直到下次连接才会发生被拉出池......所以我看到的间隔时间很长,包括应用程序处理查询结果的时间,释放连接池的连接,做任何事情,最后将连接从池中拉出来启动下一笔交易."