Erhalte SQL server-Instanzen in Windows 10

Ich habe einige alte VB.Net-Code, den ich seit Jahren benutzt habe, die SQL-Instanzen abruft. Es hat ein paar Jahre perfekt gearbeitet (über SQL server 2008, 2012, jetzt 2014). Aber ich habe Windows 10 vor einer Woche installiert und das ist das erste Mal, dass ich den Code seitdem benutzt habe. Jetzt gibt es keine Zeilen in der Tabelle zurück. Und ja (ich habe die anderen verwandten Artikel gelesen) SQL Browsing Service läuft).

Der verwendete Code ist direkt aus MSDN (wo ich ihn ursprünglich gefunden habe) …

Dim instance As SqlDataSourceEnumerator = SqlDataSourceEnumerator.Instance Dim table As System.Data.DataTable = instance.GetDataSources() DisplayData(table) Me.LoginName.Enabled = True Me.LoginPassword.Enabled = True 

Und ja, bevor jemand fragt, habe ich den Inhalt der table im Debug-Modus bei der Ausführung überprüft. Die Zeilen count=0 .

Weiß jemand, ob dies ein Windows 10 Problem ist und / oder irgendwelche Gedanken darüber, was zu tun, um die Instanzen jetzt zu bekommen?

Vielen Dank im Voraus für jede Hilfe / Beratung!

Es scheint ein Problem mit Windows 10 zu geben: https://connect.microsoft.com/VisualStudio/feedback/details/1633740/system-data-sql-sqldatasourceenumerator-dieses-work-on-windows-10-with-net-framework -4-x

Sie können einen Workaround anwenden und direkt die Instanznamen aus der Registrierung lesen.

 RegistryKey lm= RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Default); RegistryKey key = lm.OpenSubKey(@"SOFTWARE\Microsoft\Microsoft SQL server\Instance Names\SQL"); if(key != null){ foreach (string s in key.GetValueNames()) Console.WriteLine("localhost\\" + s); key.Close(); } key = lm.OpenSubKey(@"SOFTWARE\Wow6432Node\Microsoft\Microsoft SQL server\Instance Names\SQL"); if(key != null){ foreach (string s in key.GetValueNames()) Console.WriteLine("localhost\\" + s); key.Close(); } lm.Close(); 

Just hat Tests mit EnumAvailableSqlservers in Windows 10 Pro neue Insider Vorschau Build 10565 mit einem kleinen c # Test App und es scheint jetzt zu arbeiten. SqlDataSourceEnumerator soll von EnumAvailableSqlservers verwendet werden, also sollte diese Methode nun auch funktionieren.

Alte Frage, ich weiß. Ich lief gerade in das gleiche Problem und landete hier aber

Ich habe herausgefunden, durch andere Quellen , die Sie benötigen, um SQL server Browser-Dienst zu aktivieren. Getestet mit SqlDataSourceEnumerator und ODBC32, beide arbeiten jetzt.