我正在寻找一个SQL查询,它将帮助我区分不同版本的SQL Server:
2000/2005/2008
开发/标准/ EE
答案 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
可以做你想要的事情