在lan上枚举sql server实例

时间:2013-11-13 13:55:05

标签: c# sql-server lan

我正在尝试实现GUI,以便从网络中可用的那些选择MS SQL Server实例。

首先,我尝试了众所周知的方法,例如SmoApplication.EnumAvailableSqlServers()和SqlDataSourceEnumerator.Instance.GetDataSources()。它们都不够我,因为我想控制搜索超时,默认超时为30秒。

然后我发现another approach:通过LAN广播UDP数据报以从实时SQL Server实例获取响应。我可以设置我想要的任何超时,似乎设置1秒超时就足够了。

这里唯一的问题是这个方法不会返回与库方法相同数量的记录。看起来扫描网络并不是这些方法执行的唯一操作。我使用ILDasm查看了源代码,但我只是发现功能的主要部分隐藏在本机代码的某处。

有人能解释一下这些方法会发生什么吗?

提前致谢

0 个答案:

没有答案