确定链接服务器的SQL Server版本

时间:2009-06-04 09:41:32

标签: sql sql-server sql-server-2005 tsql

有没有人知道我如何通过使用TSQL语句来确定在我的链接服务器上运行的SQL的版本?

我正在运行SQL2005我的链接服务器正在运行sql2000,2005和2008的混合。

5 个答案:

答案 0 :(得分:9)

select * from openquery(MyLinkedServer,'SELECT SERVERPROPERTY(''productversion'')')

作品

答案 1 :(得分:4)

关于OPENQUERY的一个小问题是,除了字符串文字之外,不能对服务器和查询使用任何其他内容。

使用EXEC AT,您至少可以使用varchar变量进行查询(虽然引用正确的内容可能会很麻烦),但不是服务器名称:

声明@sql AS varchar(max)='SELECT SERVERPROPERTY(''productversion'')' 执行(@sql)AT MyLinkedServer

我认为这只是一个解析器限制,而不是设计中的一些故意限制。

答案 2 :(得分:0)

SELECT @@VERSION

返回详细说明服务器版本的字符串。

答案 3 :(得分:0)

你也可以尝试:

exec master..xp_msver

答案 4 :(得分:0)

您可以使用OPENQUERY

通过链接服务器访问@@版本

SET @sql ='SELECT * FROM OPENQUERY(['+ @ servername +'],''select @@ VERSION'')'