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;
}
}