Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
昨日客戶的 DBA 發現 SQL Server 上有近 300 個連線, 其狀態皆為 Sleeping , 為何會這樣呢?
原因: 主要是有一個系統一啟動時, 便開了 300 個 connection .
做了一個測試來重現這個問題
寫了一個程式, 用相同的語法做 10 次查詢, 沒有關閉 SqlConnection. 從資料庫查看所有的 sysprocesses, 會發現有 10 連線在 sleeping
相同的程式, 多加 SqlConnection.Close 後, 再觀察, 會發現它是用相同的一個連線來做查詢
若使用 SQL Profiler 觀察, 會發現有加 Close 時, 兩個查詢間會有一個 sp_Reset Connection
Enjoy.