我正在运行哪个版本的SQL Server?

时间:2009-12-21 19:59:19

标签: sql-server versioning

我正在寻找一个SQL查询,它将帮助我区分不同版本的SQL Server:

2000/2005/2008

开发/标准/ EE

7 个答案:

答案 0 :(得分:9)

我倾向于使用这个简短的脚本:

SELECT  
    SERVERPROPERTY('productversion') as 'Product Version', 
    SERVERPROPERTY('productlevel') as 'Patch 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 Patch Level Product Edition             CLR Version Default Collation   Instance    LCID    Server Name
10.0.2531.0     SP1         Developer Edition (64-bit)  v2.0.50727  Latin1_General_CI_AS    NULL    1033    XYZABC

答案 1 :(得分:6)

SELECT @@version

答案 2 :(得分:2)

也许这会对你有所帮助http://support.microsoft.com/kb/321185

答案 3 :(得分:1)

威尔

Select @@version 

足够?

答案 4 :(得分:1)

选择@@版本

在我的系统上,返回:

Microsoft SQL Server 2008(SP1) - 10.0.2531.0(x64)2009年3月29日10.11.52版权所有(c)1988-2008 Windows NT 6.0上的Microsoft企业版(64位)(Build 6002:Service Pack 2) )

答案 5 :(得分:0)

我们将使用简单的技术来检测服务器类型,使用serverproperty('ProductVersion')来查看选项列表 SERVERPROPERTY(Transact-SQL)。那么让我们看看有什么利弊

DECLARE @sql2005Code varchar(255)             

SET @sql2005Code = 'print ''SQL 2005 Code'' '

DECLARE @ver nvarchar(128)

SET @ver = CAST(serverproperty('ProductVersion') AS nvarchar)

SET @ver = SUBSTRING(@ver, 1, CHARINDEX('.', @ver) - 1)

        -- SQL 2000

IF ( @ver = '8' ) BEGIN

        print 'SQL 2000'

END

        -- SQL 2005

ELSE IF ( @ver = '9' )BEGIN

  exec (@sql2005Code)

END

以下是我对此希望的完整记录,这对您有所帮助。 Detect SQL server version

答案 6 :(得分:0)

最短 SQL查询为xp_msver

SELECT @@VERSION可以做你想要的事情