如何仅通过服务器名称获取 SQL Server 版本

本文关键字:获取 SQL Server 版本 何仅通 服务器 | 更新日期: 2023-09-27 18:36:05

说,如果我只有从此枚举中获得的服务器名称:

//Collect server names
List<string> arrServerNames = new List<string>();
try
{
    // Perform the enumeration
    DataTable dataTable = null;
    try
    {
        dataTable = System.Data.Sql.SqlDataSourceEnumerator.Instance.GetDataSources();
    }
    catch
    {
        dataTable = new DataTable();
        dataTable.Locale = System.Globalization.CultureInfo.InvariantCulture;
    }
    // Create the object array of server names (with instances appended)
    for (int i = 0; i < dataTable.Rows.Count; i++)
    {
        string name = dataTable.Rows[i]["ServerName"].ToString();
        string instance = dataTable.Rows[i]["InstanceName"].ToString();
        if (instance.Length == 0)
        {
            arrServerNames.Add(name);
        }
        else
        {
            arrServerNames.Add(name + "''" + instance);
        }
    }
}
catch
{
    //Error
}

如何知道该服务器上安装的 SQL Server 版本?

如何仅通过服务器名称获取 SQL Server 版本

检查官方 MSDN 文档以了解GetDataSources()很容易发现结果集中有一个Version列:

// Create the object array of server names (with instances appended)
for (int i = 0; i < dataTable.Rows.Count; i++)
{
    string name = dataTable.Rows[i]["ServerName"].ToString();
    string instance = dataTable.Rows[i]["InstanceName"].ToString();
    string version = dataTable.Rows[i]["Version"].ToString();  // this gets the version!
    ..........
}