SQL Server“审核注销”操作需要很长时间。

时间:2011-12-05 22:25:01

标签: sql-server-2008-r2 asp.net-4.0

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

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

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

  1. exec sp_reset_connection(使用连接池)
  2. 审核登录
  3. 执行存储过程
  4. 审核退出
  5. 我在第4步看到,读取和写入都很高,这是有道理的,因为它是在池中重用的连接的累积。

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

1 个答案:

答案 0 :(得分:6)

我现在正在“处理”类似的问题并偶然发现了这个问题 发布:http://social.msdn.microsoft.com/Forums/en/sqldatabaseengine/thread/84ecfe9e-ff0e-4fc5-962b-cffdcbc619ee

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

  

“我的分析中发现了一个错误。当连接出现时   拉出池,服务器发送一个sp_reset_connection。   该重置调用audit_logout,然后调用audit_login。该   下次audit_logout直到下次连接时才会发生   退出游泳池...所以我看到的间隔时间很长   应用程序处理查询结果的时间,释放   连接到连接池,做任何事情,最后拉   连接退出池以开始下一个事务。“