共用方式為


SqlDataSourceEnumerator.GetDataSources 方法

定義

擷取 DataTable,其中包含所有可見 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

傳回

包含可見 SQL Server 執行個體相關資訊的 DataTable

範例

下列主控台應用程式會擷取所有可見 SQL Server 實例的相關信息,並在控制台視窗中顯示資訊。

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("============================");  
    }  
  }  
}  

備註

這個方法傳回的資料表包含下列資料列,其中全部都包含字串:

資料行 描述
ServerName 伺服器的名稱。
InstanceName 伺服器執行個體的名稱。 如果伺服器是以預設執行個體的形式執行,則為空白。
IsClustered 指出伺服器是否為叢集的一部分。
版本 伺服器版本:

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

注意

由於 用來 SqlDataSourceEnumerator 在網路上尋找數據源的機制本質,此方法不一定會傳回可用伺服器的完整清單,而且每次呼叫時清單可能都不相同。 如果您打算使用此函式讓使用者從清單中選取伺服器,請確定您一律會提供選項來輸入不在清單中的名稱,以防伺服器列舉不會傳回所有可用的伺服器。 此外,這個方法可能需要很長的時間才能執行,因此在效能很重要時請小心呼叫此方法。

適用於

另請參閱