连接前检查SQL Server是否存在

时间:2012-11-04 12:24:09

标签: sql-server sql-server-2005 sql-server-2008-r2

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

任何建议都会有所帮助。

1 个答案:

答案 0 :(得分:1)

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

Connect Timeout=2;

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

因此,确定是否有服务器正在侦听时,您可以采取最佳超时。