Вы можете использовать следующий код:
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/