我已经在我的连接字符串中设置了pooling=false
,并且我检查了我的sql server 2008
有15000个连接处于睡眠状态。我不明白为什么会发生这种情况。我的服务器冻结。需要一些帮助来解决它。非常感谢。15000连接到SQL Server 2008在“睡眠”状态
回答
我假设原因是你已经设置了pooling=false
。你应该总是使用using
语句来关闭在你的代码的最佳的连接:
using(var myCon = new SqlConnection("Connection-String"))
{
myCon.Open();
// ....
} // will be closed automatically
如果你想使用连接池你可以“关闭”,而无需底层的物理连接真正被关闭了连接。这是由游泳池管理的。如果你不使用它,你必须自己管理它。如果你不关闭连接,他们会保持睡眠。
SQL Server Sleeping Status and Connection Pooling
你为什么禁用它呢?我的建议是:如果没有令人信服的理由,请重新启用它。
睡眠意味着它正在等待来自应用程序或客户端的下一个命令,并处于睡眠状态,它不使用任何资源。
SQL Server本身不会终止任何连接/进程,除非启动服务才能重新启动。
如果您想重新开始但在生产中,您可以执行restart
的SQL Server Service
,但生产中可能不会导致停机。
(或)您可以kill
那些手动处理非活动进程,如@Remush所述。
使用sp_who
或sp_who2
将列明PIDS
然后使用kill PID
这些可以在没有停机的情况下进行清理,只需在循环中使用['KILL'](http://technet.microsoft.com/en-us/library/ms173730.aspx)即可。 –
@RemusRusanu,是的,这也是一种可能性。 – Rahul
- 1. 超过100个连接到SQL Server 2008的“睡眠”状态
- 2. 睡眠连接在SQL Server中
- 3. 如何阻止SQL Server Reporting Services 2008进入睡眠状态?
- 4. SQL Server 2005 - 关闭睡眠连接
- 5. 如何停止Windows Server 2008进入睡眠状态?
- 6. asp.net连接到sql server 2008
- 7. VB2010:连接到SQL Server 2008
- 8. JDBC连接到SQL Server 2008
- 9. 在SQL Server 2008中连接动态列?
- 10. Visual Studio 2008不连接到SQL Server 2008
- 11. SQL Server处于睡眠状态的活动进程?
- 12. 在SQL Server连接表2008
- 13. NSTimer和Inactive /睡眠状态
- 14. Excel 2010到Sql Server 2008插入状态
- 15. 轨道状态和睡眠?
- 16. SQL Server全局睡眠
- 17. Grails/Tomcat:数据库连接陷入睡眠状态
- 18. 休眠SQL Server连接
- 19. SQL Server 2008连接问题
- 20. SQL Server 2008加密连接
- 21. SQL Server 2008 R2 VB.net连接
- 22. C++ ODBC SQL Server 2008连接
- 23. JDBC连接SQL Server 2008中
- 24. 连接到SQL Server
- 25. 将SQL Server 2008连接到Outlook日历?
- 26. 无法连接到SQL Server 2008从PHP
- 27. 从C#连接到SQL Server 2008#
- 28. IIS 7无法连接到SQL Server 2008
- 29. 将Reporting Services 2005SP2连接到SQL Server 2008
- 30. 无法连接到SQL Server 2008 R2
也许因为你设置'池= FALSE'。 –
加上你很可能不会 - 正确清理。如果在C#中没有关闭/处理连接对象,那么猜猜会发生什么;)C#端的连接对象很小,所以你可以在不触发垃圾回收的情况下进行很多操作。 – TomTom