我看过这个链接,但没有帮助: How can I determine installed SQL Server instances and their versions?
所以这是我的问题:
我想看看我的计算机上安装了哪些版本的sql。
如果我正在运行查询并输入:
select @@version
它告诉我正在运行的线程版本。 (我不想要)
我希望看到所有版本 - 如果已安装!
示例:计算机可以拥有sql 2000,2005,2008,2008R2
我为我的sql server文件夹附加了一个打印屏幕。
我知道
80 = SQL Server 2000
90 = SQL Server 2005
100 = SQL Server 2008
但是,这不是一个规则。
自2008年以来创造了80,90。
似乎找到安装版本的唯一方法(除了regedit)是由Sql Server配置管理器完成的。
问题:
1)仅通过文件系统可以检测我安装的版本吗?
2)有没有其他方法(除了注册表),看看安装了哪些SQL版本?
3)我读到mssql.1是针对引擎的。那MSSQL10.SQLEXPRESS怎么样?为什么它没有mssql.4号码? MSDN表示它是已安装组件的顺序ID。
答案 0 :(得分:12)
SQL Server 2008发现报告
我如何判断SQL Server的功能和版本 安装?这个问题最近被问了很多。从...开始 在SQL Server 2008中,我们添加了一个SQL Server发现报告作为选项 在安装中心的“工具”页面上。当你点击 在下面的链接中,SQL Server将开始发现SQL Server 特征
SQL Server发现报告将保存到%ProgramFiles%\ Microsoft SQL Server \ 100 \ Setup Bootstrap \ Log \
选项:
您还可以通过命令行生成“发现”报告。 从命令提示符运行“Setup.exe / Action = RunDiscovery”如果添加 “/ q”到上面的命令行没有显示UI,但报告 仍将在%ProgramFiles%\ Microsoft SQL Server \ 100 \ Setup中创建 自举\ LOG \ 20091112_082147。
参考:
答案 1 :(得分:7)
通常,
MSSQL.1, MSSQL.2, ...
,MSSQL10.<INSTANCENAME>
和MSSQL10_50.<INSTANCENAME>
。但是,由于可以在安装期间更改数据目录(至少对于较新的SQL Server版本),这不是检测SQL Server实例的可靠方法。
答案 2 :(得分:0)
嗯......如果你想知道你只使用“文件系统”的版本,我最接近的就是打开错误日志(~MSSQL \ LOG \ ERRORLOG),每当你开始连接时,sql记录服务器实例版本。您可以搜索“Microsoft SQL Server”,您将看到“Microsoft SQL Server 2008(SP1)”或Microsoft SQL Server 2003“等等
答案 3 :(得分:0)
如果您使用的是.NET,则可以使用SMO中的SmoApplication.EnumAvailableSqlServers方法枚举所有本地SQL服务器并获取其版本信息。
这是SO example。