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

问题描述:

我要寻找一个SQL查询,这将有助于我的SQL Server的各种版本之间区别:我正在运行哪个版本的SQL Server?

2000/2005/2008

开发/标准/ EE。

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

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 

SELECT @@version 

请问

Select @@version 

就够了?

SELECT @@ VERSION

在我的系统,这将返回:

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

我们会用简单的技术使用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

最短 SQL查询xp_msver

SELECT @@VERSION你想要做

什么