我们需要在尝试连接到服务器之前检查所有域中是否存在SQL Server。我们可以使用SQLDataSourceEnumerator循环遍历本地域上的服务器列表,但这需要几秒钟才能加载,它只能获取本地域。我们使用的是SQL Server 2005和2008服务器以及.Net 2010.如果服务器不存在,我们不想尝试连接并等待30秒或更长时间的超时。
任何建议都会有所帮助。
答案 0 :(得分:1)
尝试连接较小的超时。您可以在连接字符串中设置超时:
Connect Timeout=2;
你不能比这更快地检查。如果远程端点上没有SQL Server,则TCP连接不会收到响应并超时。因为没有(负面)响应,你无法判断根本没有服务器,或者只是一个非常慢的服务器。
因此,确定是否有服务器正在侦听时,您可以采取最佳超时。