Listando os SQL Servers da Rede (.NET 1.x)
Para listar os SQL Servers da rede você precisara utilizar um componente chamado SQLDMO, que vem com o Client Tools do SQL Server.
1 - Referencie a library do SQLDMO indo nas References do seu projeto, aba de objectos COM e selecionando "Microsoft SQLDMO Object Library 8.x"
2 - No seu código, declare uma aplicação SQLDMO
C#
SQLDMO.ApplicationClass myApplicationClass = new SQLDMO.ApplicationClass();
3 - Em seguida, crie um object NameList. Este objeto sera uma colecao de strings:
C#
SQLDMO.NameList myNameList = myApplicationClass.ListAvailableSQLServers();
4 - Agora voce pode usar a Colecao de strings retornado. Por exemplo, colocando os SQLservers em um listbox lbxSqlServers
C#
lbxSqlServers.Items.Clear();
foreach(string SQLServer in myNameList)
lbxSqlServers.Items.Add(SQLServer);
Boas Práticas: Se voce esta escrevendo codigo para uma aplicacao Windows Forms, recomendo a utilizacao de uma Thread para listar os SQL Servers, pois este e um processo que leva um certo tempo.
Aviso: O SQLDMO possui um timeout para a listagem de SQL Servers, ou seja, pode ser que ocorra dele nao retornar todos os SQL Servers da sua rede. Isso e uma falha documentada pela MS. Ainda assim ele pode te ajudar no basico.
Daniel Portal (iterationx@bol.com.br)