0

在尝试连接到服务器之前,我们需要检查所有域中是否存在 SQL 服务器。我们可以使用 SQLDataSourceEnumerator 遍历本地域上的服务器列表,但这需要几秒钟来加载并且它只获取本地域。我们正在使用 SQL Server 2005 和 2008 服务器以及 .Net 2010。如果服务器不存在,我们不想尝试连接并等待 30 秒或更长时间似乎是标准的超时。

任何的意见都将会有帮助。

4

1 回答 1

1

尝试以较小的超时时间进行连接。您可以在连接字符串中设置超时:

Connect Timeout=2;

你不能比这更快地检查。如果远程端点上没有 SQL Server,则 TCP 连接不会收到响应并超时。因为没有(负面)响应,您无法判断是否根本没有服务器或只是一个非常慢的服务器。

因此,超时是确定是否有服务器正在侦听的最佳方法。

于 2012-11-04T14:09:26.163 回答