我已经安装了两个带有2个实例的SQL Server 2008 Express。第一个是默认的SQLExpress,第二个是我命名的。我们将说TestExpress。我知道如果我进入SQL Server下的注册表,它会列出这两个实例名称,并且我可能可以从以下位置检索此信息
那里。但是无论如何,都可以通过SQLDMO或任何.NET SQL引用来检索它。
我打开了SQL Server Browser,我用了几乎可以在Internet上找到的所有代码(是的,我做到了),但是它们全部检索了2个项目:{local}和我的计算机名
我还检查了服务器实例是否未隐藏。
我不想使用SMO,因为我有SQL Server Express 2005和2008的计划。使用特定版本的SMO将不允许我同时使用这两个版本。
最佳答案
到目前为止,您尝试过什么.NET代码?
这个代码段的效果很好:
System.Data.Sql.SqlDataSourceEnumerator instance = System.Data.Sql.SqlDataSourceEnumerator.Instance;
System.Data.DataTable dataTable = instance.GetDataSources();
foreach (System.Data.DataRow row in dataTable.Rows)
{
Console.WriteLine(row["ServerName"] + "\\" + row["InstanceName"]);
}