1

我正在尝试实现用于从网络中可用的实例中选择 MS SQL Server 实例的 GUI。

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

然后我找到了另一种方法:通过 LAN 广播 UDP 数据报以获取实时 SQL Server 实例的响应。我可以设置任何我想要的超时时间,似乎设置 1 秒的超时时间就绰绰有余了。

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

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

提前致谢

4

0 回答 0