SQL 如何通过注册表查找sql server实例的版本和版本
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/20042072/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
how to find the version and edition of sql server instance via registry
提问by Abhishek Kumar
I am using below registry search to get the list of all sql server instance name. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names\SQL. How can i get the version and edition of instance name(s) return by above registry search?? What i am actually trying to accomplish here is that i want to upgrade the sql server instance (prior to version sql server 2008 R2) named say companyx (which we use for our named instance for our application ) to Sql server 2008 R2.
我正在使用下面的注册表搜索来获取所有 sql server 实例名称的列表。HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names\SQL。如何通过上述注册表搜索获得实例名称的版本和版本?我在这里真正想要完成的是,我想将名为 say companyx(我们用于我们的应用程序的命名实例)的 sql server 实例(在 sql server 2008 R2 版本之前)升级到 Sql server 2008 R2。
回答by JDC
As you state: all installed instances can be found in :
正如您所说:所有已安装的实例都可以在以下位置找到:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names\SQL
Using the values of this instances you can go to:
使用此实例的值,您可以转到:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\{INSTANCE DATA}\MSSQLServer\CurrentVersion
where {INSTANCE DATA} is the data of the keys in the first registry settings.
其中 {INSTANCE DATA} 是第一个注册表设置中的键的数据。
For example: I have a computer containing this keys:
例如:我有一台包含此键的计算机:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names\SQL]
"MSSQLSERVER2008"="MSSQL10_50.MSSQLSERVER2008"
"SQLEXPRESS2008R2"="MSSQL10_50.SQLEXPRESS2008R2"
=> meaning there are 2 instances: There version can be found here:
=> 表示有 2 个实例:可以在此处找到版本:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER2008\MSSQLServer\CurrentVersion]
"CurrentVersion"="10.50.4000.0"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL10_50.SQLEXPRESS2008R2\MSSQLServer\CurrentVersion]
"CurrentVersion"="10.50.4000.0"
回答by vhadalgi
use serverproperty()
用 serverproperty()
SELECT
SERVERPROPERTY('ProductVersion') AS ProductVersion,
SERVERPROPERTY('Edition') AS ProductEdition
GO
OR try
或尝试
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\CurrentVersion
回答by sqlquaker
Try this:
尝试这个:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL11.\Setup
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL11.\Setup
Look for values of Version and Edition -Regards
查找 Version 和 Edition 的值 - 问候