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

问题描述 投票:2回答:5

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

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

sql sql-server sql-server-2005 tsql
5个回答
9
投票
select * from openquery(MyLinkedServer,'SELECT SERVERPROPERTY(''productversion'')')

作品


4
投票

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

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

在MyLinkedServer声明@sql AS varchar(max)='SELECT SERVERPROPERTY(''productversion'')'EXEC(@sql)

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


0
投票
SELECT @@VERSION

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


0
投票

你也可以尝试:

exec master..xp_msver

0
投票

您可以使用OPENQUERY通过链接服务器访问@@ version

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

© www.soinside.com 2019 - 2024. All rights reserved.