2012-04-12 10 views
1

Ich möchte meine Anwendung Instanzen von SQL Server 2008 R2 Developer/Express zurückgeben.Auflisten von SQL Server-Instanzen

Ich bin mit:

System.Data.DataTable lokalni_servery = Microsoft.SqlServer.Management.Smo.SmoApplication.EnumAvailableSqlServers(); 

foreach (System.Data.DataRow row in lokalni_servery.Rows) 
{ 
    local_servers.Items.Add(row["Server"].ToString()); 
} 

Auf meinem Bekannten Notebook mit SQL Server 2008 R2 32-Bit-express, Es spielt keine nichts finden, aber auf meinem Notebook mit SQL Server 2008 R2 64-Bit-Entwickler findet es fast immer. Ich muss diese Instanz von SQL auf beiden Computern finden können.

Weiß jemand, warum die Anwendung so verhält?

Gibt es eine Möglichkeit, die Methode so zu ändern, dass beide Notebooks die Instanz finden können?

+0

nützliche Frage 1 - i Sie viele Male in der Vergangenheit hom nicht sagen, kann ich auf diesem Kopf gekratzt, bevor über den Browser-Dienst –

+1

Verwandte Fragen Lernen: [EnumAvailableSqlServers gibt leere Liste] (http://stackoverflow.com/questions/7460567/enumavailablesqlservers-returns-empty-list) oder möglicherweise [SqlDataSourceEnumerator.Instance.GetDataSources() findet keine lokale SQL Server 2008-Instanz] (http://stackoverflow.com/questions/6824188/sqldatasourcenumerator-instance-getdatasources-does-not-locate-local-sql-serv). –

Antwort

0

SmoApplication.EnumAvailableSqlServers listet verfügbare Instanzen auf, was bedeutet, dass die Server ausgeführt werden müssen. Allein die Tatsache, dass sie installiert sind, ist nicht genug.

Auch die SQL Server Browser Service muss laufen!

Siehe How to: Start and Stop the SQL Server Browser Service (SQL Server Express) auf MSDN

+2

Die Server müssen auch TCP/IP aktiviert haben und eine Ausnahme in den Firewall (s) gefunden werden. –

Verwandte Themen