我们有一个使用C#编写的Web服务,它对MS SQL Server 2005数据库进行了多次调用。该代码使用Using块结合C#的连接池。
在SQL跟踪期间,我们看到了许多“sp_resetconnection”调用。其中大部分都很短<0.5秒,但有时我们会得到长达9秒的调用。
从我所读到的内容来看,“sp_resetconnection”与连接池有关,基本上重置了打开连接的状态。我的问题:
- 为什么需要重置打开的连接状态?
- 为什么会有这么多这样的调用!
- 什么原因会导致对“sp_resetconnection”的调用需要花费非常长的时间。
这对我来说是个谜,我感激任何和所有的帮助!