Mit der Methode GetSqlServerInstances() werden alle Namen der Serverinstanzen in einem Netzwerk mittels SMO ermittelt und in einem Arraylist voller Strings zurückgegeben. Die Strings sind jeweils die Namen der Serverinstanzen.
/// <summary>
/// Gibt alle Serverinstanzen des lokalen Netzwerkes in einer Arraylist als String zurück
/// </summary>
/// <returns>Alle Serverinstanzen als String</returns>
public static ArrayList GetSqlServerInstances()
{
ArrayList servers = new ArrayList();
// Holen der verfügbaren Server mit einem SqlDataSourceEnumerator
SqlDataSourceEnumerator enumerator = SqlDataSourceEnumerator.Instance;
DataTable serverTable = enumerator.GetDataSources();
//Alle verfügbaren Instanzen sammeln
foreach (DataRow row in serverTable.Rows)
{
string serverName = row["ServerName"].ToString();
if (row["InstanceName"] != DBNull.Value)
{
serverName += "\\" + row["InstanceName"];
}
servers.Add(serverName);
}
return servers;
}
Kommentare zum Snippet