有没有人知道我可以通过使用TSQL语句来确定在我的链接服务器上运行的SQL版本?确定SQL Server版本的链接服务器
我运行SQL2005我的链接的服务器正在运行SQL2000,2005年的混合和2008年
有没有人知道我可以通过使用TSQL语句来确定在我的链接服务器上运行的SQL版本?确定SQL Server版本的链接服务器
我运行SQL2005我的链接的服务器正在运行SQL2000,2005年的混合和2008年
select * from openquery(MyLinkedServer,'SELECT SERVERPROPERTY(''productversion'')')
作品
约OPENQUERY一个小小的鸡蛋里挑骨头是一个不可以用多字符串文字以外的任何服务器和查询两种。
随着EXEC AT可以为查询至少使用VARCHAR变量(尽管它可以正确地引用东西痛)虽然没有服务器名:
声明@sql为varchar(最大值) ='SELECT SERVERPROPERTY(''productversion'')' EXEC(@sql)AT MyLinkedServer
我认为这只是解析器的限制,而不是设计中的一些故意限制。
你也可以试试:
exec master..xp_msver
可以使用OPENQUERY
SET @sql通过链接服务器访问@@版本= 'SELECT * FROM OPENQUERY([' + @服务器+'], ''select @@ VERSION'')'
正确,这确实工作完美。从来没有想过公开查询。 Thanx – Coentje 2009-06-04 10:29:55