如何使用T-SQL确定正在运行哪个版本的SQL Server

如何使用T-SQL确定正在运行哪个版本的SQL Server,sql,sql-server,tsql,Sql,Sql Server,Tsql,我需要使用T-SQL了解运行的SQL Server版本的帮助,并根据SQL Server 2000或SQL Server 2008是否正在运行来执行不同的代码集。只需查询数据库-有一个属性: SELECT @@VERSION 返回SQL Server当前安装的版本、处理器体系结构、生成日期和操作系统 如本页所述,由于所有这些数据都在一个varchar中返回,因此您可以使用函数仅检索版本: SELECT SERVERPROPERTY('ProductVersion') 第一个周期前的数字将给出

我需要使用T-SQL了解运行的SQL Server版本的帮助,并根据SQL Server 2000或SQL Server 2008是否正在运行来执行不同的代码集。

只需查询数据库-有一个属性:

SELECT @@VERSION
返回SQL Server当前安装的版本、处理器体系结构、生成日期和操作系统

如本页所述,由于所有这些数据都在一个varchar中返回,因此您可以使用函数仅检索版本:

SELECT SERVERPROPERTY('ProductVersion')
第一个周期前的数字将给出主要版本:10=2008、9=2005、8=2000

SELECT @@VERSION?

或其中一个选项?

用于获取服务器SQL版本:

SELECT SERVERPROPERTY('ProductVersion')
GO
或者更详细的命令

SELECT @@VERSION
GO

在中,您还可以找到版本号的列表

@@version/SERVERPROPERTY

但你也应该检查一下

exec sp_dbcmptlevel 'dbname'

确保某个功能在数据库的兼容级别上工作。

选择SERVERPROPERTY('productversion')、SERVERPROPERTY('productlevel')、SERVERPROPERTY('edition')

这是一个很难用编程方式处理的字符串。对sp_dbcmptlevel的思考很好。在某些情况下,这更重要
SELECT @@VERSION
GO
exec sp_dbcmptlevel 'dbname'
EXEC[MASTER].SYS.[XP_MSVER]--To  get  the  server version