直接从链接服务器访问链接服务器

时间:2016-12-28 12:14:51

标签: sql-server sql-server-2014 linked-server paradox

我有两个SQL Server实例:

  • SQLSERVER64
  • SQLSERVER32

SQLSERVER32中,我有一个名为ParadoxDBLinkedServer的Paradox数据库的链接服务器。

要访问服务器中的一些Paradox表,我只需执行以下语句:

SELECT * 
FROM [ParadoxDBLinkedServer]...Clients

然后,我需要从SQLSERVER64实例访问这些对象。为此,我在此实例中创建了一个名为[.\SQLSERVER32]的链接服务器,指向SQLSERVER32

我现在要做的是直接从ParadoxDBLinkedServer实例访问SQLSERVER64个对象。我的意思是,从另一个链接服务器访问链接服务器。

我尝试运行的查询是以下内容:

SELECT * 
FROM [.\SQLSERVER32].[ParadoxDBLinkedServer ]...Clients

但是我收到了这个错误:

  

数字名称'。\ SQLSERVER32.ParadoxDBLinkedServer ...客户端'包含的内容超过了最大数量。最大值为3。

有没有办法像这样执行访问?我在这里缺少什么?

我正在尝试避免为ParadoxDBLinkedServer实例中的SQLSERVER32的每个表创建一个View,以减少开销。

2 个答案:

答案 0 :(得分:0)

从openquery中选择*(Linkedservername,'select * from tablename')

答案 1 :(得分:0)

这很晚了,但希望对以后来此帖子的其他人有所帮助。如果您可以使用openquery,则应该可以执行以下操作:

SELECT * FROM OPENQUERY([.\SQLSERVER32], 'SELECT * FROM   OPENQUERY([ParadoxDBLinkedServer ],''SELECT * FROM Clients'')' )