我正在动态地为sql express数据库创建连接字符串。我想知道如何使用c#以编程方式获取当前在本地计算机上运行的服务器实例的名称。
答案 0 :(得分:2)
您可以使用以下代码:
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/