Как получить имя экземпляра сервера SQL в настоящее время работает программно - PullRequest
1 голос
/ 07 декабря 2011

Я динамически создавал строку подключения для базы данных sql express. Я хотел знать, как получить имя экземпляра сервера, работающего в данный момент на локальном компьютере, программно с использованием c #.

1 Ответ

2 голосов
/ 07 декабря 2011

Вы можете использовать следующий код:

using System;
using Microsoft.Win32;

namespace TestConsoleApp
{
    class Program
    {
      static void Main()
      {
        RegistryKey rk = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Microsoft SQL Server");
        String[] instances = (String[])rk.GetValue("InstalledInstances");
        if (instances.Length > 0)
        {
           foreach (String element in instances)
           {
              if (element == "MSSQLSERVER")
                 Console.WriteLine(System.Environment.MachineName);
              else
                 Console.WriteLine(System.Environment.MachineName + @"\" + element);
           }
        }
        Console.ReadKey();
      }
    }
}

Редактировать:

Если вы хотите получить экземпляры, которые находятся в рабочем состоянии, пожалуйста, обратитесь к этомуссылка: http://support.microsoft.com/kb/q287737/

...