我們有一個用C#編寫的Web服務,它可以調用MS SQL Server 2005數據庫。該代碼使用Using塊與C#的連接池相結合。爲什麼如此多的sp_resetconnections用於C#連接池?
在SQL跟蹤期間,我們看到許多對「sp_resetconnection」的調用。其中大部分是短暫的< 0.5秒,但是有時候我們會收到長達9秒的通話。
從我讀過的內容來看,sp_resetconnection與連接池有關,並且基本上重置了打開連接的狀態。我的問題:
- 爲什麼打開的連接需要其狀態重置?
- 爲什麼這麼多這樣的電話!
- 什麼可能會導致調用sp_reset連接花費非常少的時間。
這對我來說是相當神祕的,我很欣賞任何和所有的幫助!
如果您有一個顯示sp_reset_connetion花費很長時間的事件探查器跟蹤,爲什麼不看該客戶在調用之前做了哪些工作?這應該讓你知道在通話期間什麼狀態正在被拆除。 – ahains 2009-06-07 17:34:39