Compartir a través de


SqlDataSourceEnumerator.GetDataSources Método

Definición

Recupera un objeto DataTable que contiene información sobre todas las instancias visibles de SQL Server.

public:
 override System::Data::DataTable ^ GetDataSources();
public override System.Data.DataTable GetDataSources ();
override this.GetDataSources : unit -> System.Data.DataTable
Public Overrides Function GetDataSources () As DataTable

Devoluciones

DataTable que contiene información sobre las instancias visibles de SQL Server.

Ejemplos

La siguiente aplicación de consola recupera información sobre todas las instancias de SQL Server visibles y muestra la información en la ventana de la consola.

Imports System.Data.Sql  

Module Module1  
  Sub Main()  
    ' Retrieve the enumerator instance and then the data.  
    Dim instance As SqlDataSourceEnumerator = _  
     SqlDataSourceEnumerator.Instance  
    Dim table As System.Data.DataTable = instance.GetDataSources()  

    ' Display the contents of the table.  
    DisplayData(table)  

    Console.WriteLine("Press any key to continue.")  
    Console.ReadKey()  
  End Sub  

  Private Sub DisplayData(ByVal table As DataTable)  
    For Each row As DataRow In table.Rows  
      For Each col As DataColumn In table.Columns  
        Console.WriteLine("{0} = {1}", col.ColumnName, row(col))  
      Next  
      Console.WriteLine("============================")  
    Next  
  End Sub  
End Module  
using System.Data.Sql;  

class Program  
{  
  static void Main()  
  {  
    // Retrieve the enumerator instance and then the data.  
    SqlDataSourceEnumerator instance =  
      SqlDataSourceEnumerator.Instance;  
    System.Data.DataTable table = instance.GetDataSources();  

    // Display the contents of the table.  
    DisplayData(table);  

    Console.WriteLine("Press any key to continue.");  
    Console.ReadKey();  
  }  

  private static void DisplayData(System.Data.DataTable table)  
  {  
    foreach (System.Data.DataRow row in table.Rows)  
    {  
      foreach (System.Data.DataColumn col in table.Columns)  
      {  
        Console.WriteLine("{0} = {1}", col.ColumnName, row[col]);  
      }  
      Console.WriteLine("============================");  
    }  
  }  
}  

Comentarios

La tabla devuelta por este método contiene las columnas siguientes, todas las cuales contienen cadenas:

Columna Descripción
ServerName Nombre del servidor.
InstanceName Nombre de instancia del servidor. En blanco si el servidor se ejecuta como la instancia predeterminada.
IsClustered Indica si el servidor forma o no parte de un clúster.
Versión Versión del servidor:

10.0.xx para SQL Server 2008
10.50.x para SQL Server 2008 R2
11.0.xx para SQL Server 2012
12.0.xx para SQL Server 2014
13.0.xx para SQL Server 2016
14.0.xx para SQL Server 2017

Nota

Debido a la naturaleza del mecanismo utilizado por SqlDataSourceEnumerator para localizar orígenes de datos en una red, el método no siempre devolverá una lista completa de los servidores disponibles y es posible que la lista no sea la misma en cada llamada. Si tiene previsto usar esta función para permitir que los usuarios seleccionen un servidor de una lista, asegúrese de que siempre proporcione una opción para escribir un nombre que no esté en la lista, en caso de que la enumeración del servidor no devuelva todos los servidores disponibles. Además, este método puede tardar una cantidad significativa de tiempo en ejecutarse, por lo que debe tener cuidado de llamarlo cuando el rendimiento sea crítico.

Se aplica a

Consulte también