Recentemente tive a necessidade de listar as instâncias do SQL Server que estavam disponíveis na rede.

Após uma rápida pesquisa encontrei algumas soluções interessantes.

CMD

sqlcmd -L

caso seja necessário salvar em um arquivo

sqlcmd –L >c:\serverlist.txt

obs: o L deve ser maiúsculo

Powershell

Get-Service | Where-Object {$_.Name -like 'MSSQL$*'}

A classe SqlDataSourceEnumerator permite que você obtenha as instâncias do SQL Server instalado na máquina e também na rede. Para encontrar mais informações sobre o mesmo acesse o seguinte artigo do MSDN: http://msdn.microsoft.com/en-us/library/system.data.sql.sqldatasourceenumerator.aspx

C#

var dataTable = SqlDataSourceEnumerator.Instance.GetDataSources();
Console.WriteLine("Servidores:");
foreach (DataRow row in dataTable.Rows)
{
    Console.WriteLine("Nome do Servidor: {0}", row["ServerName"]);
    Console.WriteLine("Nome da Instancia: {0}", row["InstanceName"]);
    Console.WriteLine("Esta em cluster: {0}", row["IsClustered"]);
    Console.WriteLine("Versão: {0}", row["Version"]);
    Console.WriteLine("----");
}
Console.ReadLine();

Por hoje é só pessoal. Espero que tenham gostado.

Sobre Erick

Erick de Oliveira escreveu 19 artigos no blog.

Tagged with →  
Share →

One Response to Listando as instâncias do SQL Server disponíveis na rede local

  1. Muito boa a matéria Erick.
    Acabo de iniciar minhas aulas de SQL server 2008 R2 no cursoADV.
    No caso esta dica funciona com qualquer versão do programa?

Leave a Reply to Victor Andrade Cancel reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>