有沒有人知道我可以通過使用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