【发布时间】:2010-11-01 00:44:56
【问题描述】:
我们有一个用 C# 编码的 Web 服务,它对 MS SQL Server 2005 数据库进行多次调用。该代码使用 Using 块结合 C# 的连接池。
在 SQL 跟踪期间,我们看到很多很多对“sp_resetconnection”的调用。其中大多数都很短
从我读到的 sp_resetconnection 与连接池有关,基本上重置了打开连接的状态。我的问题:
- 为什么打开的连接需要重置其状态?
- 为什么会有这么多电话!
- 可能导致调用 sp_reset 连接花费大量时间的原因。
这对我来说是个谜,我感谢任何帮助!
【问题讨论】:
-
如果您的分析器跟踪显示 sp_reset_connetion 需要很长时间,您为什么不查看该客户端在调用之前所做的工作?这应该让您了解通话期间正在拆除的状态。
标签: c# sql-server-2005 connection-pooling sp-reset-connection