How to list available instances of SQL Servers using SMO in C#?

.net, c#, smo, sql-server

Solution

Take a look at the following links they may be helpful:

- Enumerate SQL Server Instances in C#, Using ODBC

- How to get a list of available SQL Servers using C# (MSDN)

- Populating a list of SQL Servers

Alternatively you could change your code to this:

DataTable dt = SmoApplication.EnumAvailableSqlServers(false);
if (dt.Rows.Count > 0)
{
    foreach (DataRow dr in dt.Rows)
    {
        Console.WriteLine(dr["Name"]);
    }
}

Hope this solves your problem.

Problem

Can anybody explain me what I wrong I am doing in the following piece of code: ``` DataTable dt=SmoApplication.EnumAvailableSqlServer(true); Server sr = new Server("Test"); foreach(DataBase db in sr.DataBases) { Console.WriteLine(db["name"]); } ``` It gives an exception in `sr.Databases` that can not be connected.

Original source