Я использую приведенный ниже код в своем приложении Windows для получения локальных серверов, когда я использовал SQL Server 2012, он работал без ошибок, но когда я загрузил SQL Server 2016, я получил исключение:
Исключение: в SMO возникло исключение при попытке управления службой. Внутреннее исключение: не удалось получить данные для этого запроса.
Код:
public List<string> findLocalServers()
{
var servers = new List<string>();
try
{
var serverCollection = new ManagedComputer().ServerInstances.Cast<ServerInstance>().Select(instance => String.IsNullOrEmpty(instance.Name) ?
instance.Parent.Name : instance.Parent.Name)
.ToArray();
foreach (var server in serverCollection.Where(server => !servers.Contains(server)))
{
servers.Add(server);
}
return servers;
}
catch (Exception ex)
{
return null;
}
}
String.IsNullOrEmpty(instance.Name) ? instance.Parent.Name : instance.Parent.Name
. Вы уверены, что именно это хотели написать? - person TT.   schedule 02.01.2017