为什么在简单的SQL连接中打开了很多本地端口?

时间:2011-06-09 08:41:55

标签: .net connection network-traffic

我有一个只需向远程主机打开SqlConnection的应用程序。 我的代码是这样的:

SqlConnection sc = new SqlConnection();
sc.ConnectionString = sConnectionString;
sc.Open();

我的网络监控工具打开时运行了应用程序。我注意到有4个本地端口打开,与远程主机的1433端口通信。我预计只会打开一个端口。为什么会这样?

2 个答案:

答案 0 :(得分:1)

我猜你没有关闭你的sqlconnection并且已经连续打开,尝试重新启动服务器并(尝试重新启动计算机)。在完成工作后使用此代码。它发生在我之前,这对我有用。

SqlConnection sc = new SqlConnection();
sc.ConnectionString = sConnectionString;
sc.Open();
// do you coding here 
// complete all the operations related to this connection 
//close the connection 
sc.Close();

答案 1 :(得分:1)

如果您有权查看远程数据库服务器中的打开数据库连接,请将其与托管应用程序的计算机中打开的tcp / ip连接进行比较。

如果数据库服务器上打开的连接数与相应的tcp / ip连接匹配,则可以确保打开多个并发连接,并进一步调试。

在SQL Server 2008中,执行sp_who2或打开活动监视器。您应该能够从结果中识别连接源。在应用程序主机中使用netstat -n或其他网络监视工具。

另请参阅

  

Too many connections to SQL 2005