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

时间:2022-10-11 17:20:20
SQL Server中的sleeping越积越多,要我手工清除才行,怎么办呢?

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

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

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

请高手帮帮忙!
谢谢!

7 个解决方案

#1


不看不知道,一看吓一跳。
我的服务上sleeping的connection也有近两百过,不过我没有出理连接池已满的错误。

#2


up

#3


设置一下Max Pool Size=400
一般默认好像是100吧

#4


我在Sql Server裡設置了同時連線最大值為0,(0是不限制的)

#5


Enlist=true;Pooling=true;Max Pool Size=300;Min Pool Size=0;Connection Lifetime=300;packet size=1000"

连接语句加上这些。

#6


我試試

#7


有用么,同问sleeping的连接回收没?

#1


不看不知道,一看吓一跳。
我的服务上sleeping的connection也有近两百过,不过我没有出理连接池已满的错误。

#2


up

#3


设置一下Max Pool Size=400
一般默认好像是100吧

#4


我在Sql Server裡設置了同時連線最大值為0,(0是不限制的)

#5


Enlist=true;Pooling=true;Max Pool Size=300;Min Pool Size=0;Connection Lifetime=300;packet size=1000"

连接语句加上这些。

#6


我試試

#7


有用么,同问sleeping的连接回收没?