我正在运行SQL Server 2005,但是我不确定这是哪个版本。如何确定计算机上正在运行哪个版本(Express,Standard,Enterprise等)?
Answers:
select @@version
样本输出
Microsoft SQL Server 2008(SP1)-10.0.2531.0(X64)2009年3月29日10:11:52版权所有(c)1988-2008 Windows NT 6.1(Build 7600 :)上的Microsoft Corporation Developer Edition(64位)
如果您只想获取该版本,则可以使用:
select serverproperty('Edition')
要在自动化脚本中使用,您可以获取版本ID,它是一个整数:
select serverproperty('EditionID')
我在这里使用此查询来从SQL Server获取所有相关信息(至少对我而言是相关的:-):
SELECT
SERVERPROPERTY('productversion') as 'Product Version',
SERVERPROPERTY('productlevel') as 'Product Level',
SERVERPROPERTY('edition') as 'Product Edition',
SERVERPROPERTY('buildclrversion') as 'CLR Version',
SERVERPROPERTY('collation') as 'Default Collation',
SERVERPROPERTY('instancename') as 'Instance',
SERVERPROPERTY('lcid') as 'LCID',
SERVERPROPERTY('servername') as 'Server Name'
这样可以为您提供如下输出:
Product Version Product Level Product Edition CLR Version
10.0.2531.0 SP1 Developer Edition (64-bit) v2.0.50727
Default Collation Instance LCID Server Name
Latin1_General_CI_AS NULL 1033 *********
您可以使用以下步骤仅获取版本名称。
您可以使用SERVERPROPERTY仅获取版本(在各个属性下加上)
例如
SELECT SERVERPROPERTY('Edition')
引用(“版本”):
SQL Server实例的已安装产品版本。使用此属性的值来确定已安装产品支持的功能和限制,例如最大CPU数。
返回:
“桌面引擎”(不适用于SQL Server 2005)
“开发版”
“企业版”
“企业评估版”
“个人版”(不适用于SQL Server 2005)
“标准版”
“速成版”
“具有Advanced Services的Express Edition,
Workgroup Edition,
Windows Embedded SQL,
Base数据类型:nvarchar(128)
SELECT CASE WHEN SERVERPROPERTY('EditionID') = -1253826760 THEN 'Desktop'
WHEN SERVERPROPERTY('EditionID') = -1592396055 THEN 'Express'
WHEN SERVERPROPERTY('EditionID') = -1534726760 THEN 'Standard'
WHEN SERVERPROPERTY('EditionID') = 1333529388 THEN 'Workgroup'
WHEN SERVERPROPERTY('EditionID') = 1804890536 THEN 'Enterprise'
WHEN SERVERPROPERTY('EditionID') = -323382091 THEN 'Personal'
WHEN SERVERPROPERTY('EditionID') = -2117995310 THEN 'Developer'
WHEN SERVERPROPERTY('EditionID') = 610778273 THEN 'Windows Embedded SQL'
WHEN SERVERPROPERTY('EditionID') = 4161255391 THEN 'Express with Advanced Services'
END AS 'Edition';