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

Coe*_*tje 3 sql t-sql sql-server sql-server-2005

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

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

SWe*_*eko 10

select * from openquery(MyLinkedServer,'SELECT SERVERPROPERTY(''productversion'')')
Run Code Online (Sandbox Code Playgroud)

作品


Pau*_*ton 5

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

使用 EXEC AT,您至少可以为查询使用 varchar 变量(尽管正确引用这些内容可能会很痛苦),但不能用于服务器名称:

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

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