找到localhost上安装的SQL上的所有实例

时间:2013-10-03 02:26:56

标签: c# sql

我正在尝试查找本地系统上安装的所有SQL实例。我有一个有效的解决方案,但它没有返回一致的结果。

下面工作但它不一致,有时它在第一次通话时起作用。有时我不得不多次拨打getSqlInstances()

public static DataTable getSqlInstances()
    {
        DataTable instances = SmoApplication.EnumAvailableSqlServers(true);
        return instances;
    }

下面我发现其他地方(我相信另一个Stackoverflow帖子)作为Microsoft的推荐,我无法让它返回任何结果。

public static DataTable getSqlInstances()
    {
        System.Data.Sql.SqlDataSourceEnumerator instances =
            System.Data.Sql.SqlDataSourceEnumerator.Instance;
        DataTable dataTable = instances.GetDataSources();
        return dataTable;
    }

有什么想法吗?

更新: 我发现下面有效,虽然不是100%一致,但它比使用SmoApplication.EnumAvailableSqlServers(true)

更一致
public static DataTable GetSqlInstances()
    {
        DataTable instances = SqlDataSourceEnumerator.Instance.GetDataSources();
        return instances;
    }

它返回网络中的所有SQL实例,而不仅仅是localhost。

编辑:

我应该先查看,但最后一次更新与之前尝试过的方法几乎完全相同。也许我当时没有加入网络?

0 个答案:

没有答案