作为安装的一部分,我需要能够识别计算机上安装的SQL Server的实例和版本。
我正在使用this approach来获取本地计算机上SQL Server实例的列表;我只对本地机器感兴趣。
我需要获取所有实例,并检查版本。我们需要SQL Server 2008 R2用于该应用程序。
然而,我得到的是:
"MACHINENAME"
"MACHINENAME"
{}
true
{} (**)
true
而我期待(**)有版本。
如果有防火墙,我发现这种技术会失败:
如果防火墙正在服务器上运行,则此方法无法列出本地实例。该 防火墙阻止调用方法时发出的任何广播流量,即使发送方也是如此 来自本地机器。
但无论启用还是禁用防火墙,我都会得到相同的结果。
对于我做错了什么有任何建议吗?
答案 0 :(得分:1)
我不知道,但在您获得服务器列表后,只需查询它们。您可以使用SqlCommand发送“select @@ version”查询,也可以使用Microsoft.SqlServer.Management.Smo命名空间中的Server类来获取此信息。