日期:2014-05-19  浏览次数:20576 次

----------------SQL Server中的sleeping越积越多,要我手工清除才行,怎么办呢?
SQL   Server中的sleeping越积越多,要我手工清除才行,怎么办呢?

我查看地我的代码,我都作了关闭,一般是这样做的:
对于SqlDataReader,我采用CommandBehavior.CloseConnection
如:
dr=cmd.ExecuteReader(CommandBehavior.CloseConnection);

对于其它的,我这样做的:
SqlConnection   con=null;
try
{
}
finally
{
  con.Close();
  con=null;
}

为什么在Sql   server里我看到那个连接还是在那sleeping,积得多时,以后的用户都登录时都会超时,说什么连接池已满,但我做的连接设置是不限制的。

请高手帮帮忙!
谢谢!


------解决方案--------------------
不看不知道,一看吓一跳。
我的服务上sleeping的connection也有近两百过,不过我没有出理连接池已满的错误。
------解决方案--------------------
设置一下Max Pool Size=400
一般默认好像是100吧
------解决方案--------------------
Enlist=true;Pooling=true;Max Pool Size=300;Min Pool Size=0;Connection Lifetime=300;packet size=1000 "

连接语句加上这些。