public void Test_Explicit_Discovery() { var servers = MyServers.GetSqlServers(); foreach (var server in servers) { Console.WriteLine($" * {server}"); } }
public static void Initialize() { if (Initialized) { return; } Initialized = true; if (MasterConnectionString != null) { return; } var servers = MyServers.GetSqlServers(); foreach (var server in servers) { try { using (SqlConnection con = new SqlConnection(server)) { var man = con.Manage(); var isSysAdmin = (man.FixedServerRoles & FixedServerRoles.SysAdmin) != 0; bool isLinux = man.HostPlatform == "Linux"; // if (!man.IsLocalDB && isSysAdmin) if (isLinux || true) { MasterConnectionString = server; Console.WriteLine("Discovered SQL Server: {0}, Ver is {1}", MasterConnectionString, man.ShortServerVersion); return; } } } catch (Exception ex) { continue; } } throw new InvalidOperationException("Local Sql Express or LocalDB 2014+ (or above) with SysAdmin permission for the current user not found"); }