c# - 如何检查安装的实例是完整的 SQL Server 还是只是 SQL Server Express

标签 c# sql-server

在我的一个项目中,首先我需要检查机器上是否安装了 SQL Server。我正在使用此处显示的代码执行此操作:

 var sqlRegistry = Registry.LocalMachine.OpenSubKey(@"Software\Microsoft\Microsoft SQL Server", true);

 if (sqlRegistry == null) 
 { }
 else 
 { }

但在 else 部分,我需要知道安装的 SQL Server 是“仅”SQL Server Express 还是完整的 SQL Server 版本。

我将如何去做?

最佳答案

您可以在注册表项中查看已安装的实例:

Software\Microsoft\Microsoft SQL Server\InstalledInstances

这将包含所有已安装的实例,例如在我的系统上:

MSSQLSERVER
SQLEXPRESS

使用此值进入此注册表项:

Software\Microsoft\Microsoft SQL Server\Instance Names\SQL

获取下一步所需的实际实例名称。

现在,如果您查看注册表项:

Software\Microsoft\Microsoft SQL Server\(InstanceName)\Setup\Edition

你有一个值,例如Express 用于 SQL Server Express,或 Developer Edition 或其他。这应该会告诉您您是否拥有 Express 或其他 SQL Server 的“完整”版本

关于c# - 如何检查安装的实例是完整的 SQL Server 还是只是 SQL Server Express,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29749160/

相关文章:

c# - sql转换日期转换错误的原因是什么?

c# - 使用多个参数启动任务的标准做法是什么

asp.net - 分析 SQL Server 和/或 ASP.NET

c# - 如何集中和重定向 asp :Menu on the Server Side? 的 WebForm MenuItem 链接

c# - ASP 成员(member)服务总是创建两个帐户

c# - 避免歧义匹配异常

c# - 最小起订量并抛出 SqlException

c# - 并发访问数据库——防止两个用户获取相同的值

sql-server - 是否应该将WITH子句中的Getdate()声明为变量?

c# - 是否可以在没有 SQL Server 的情况下访问 .mdf 数据库?