简体   繁体   English

通过链接服务器连接来自2个不同服务器的表-SQL Server

[英]Joining tables from 2 different servers through linked server - SQL Server

I am finding it difficult to join 2 tables across 2 servers in SQL server. 我发现很难在SQL Server中的2个服务器之间连接2个表。

I know i am able to do this through a linked server. 我知道我能够通过链接服务器执行此操作。 On my server 1 it has server 2 in its linked server folder in SSMS. 在我的服务器1上,它在SSMS的链接服务器文件夹中有服务器2。

Server 1 = S1 Server 2 = S2 服务器1 = S1服务器2 = S2

How do i reference the tables for a linked server join. 如何引用链接服务器联接的表。 I have tried 我努力了

SELECT *
FROM [S1].[db1].[dbo].[Order] T1
JOIN [S2].[db1].dbo.[Invoice] T2
ON T1.[OrderID] = T2.[InvoiceID]

All the table names and server names are correct and server 2 is in the linked server folder under 'S2' but when i run this it says S2 and its table are invalid object names. 所有表名和服务器名都是正确的,并且服务器2在“ S2”下的链接服务器文件夹中,但是当我运行它时,它说S2及其表是无效的对象名。

Any help would be appreciated 任何帮助,将不胜感激

You dont need to specify the local server on your query cause it's not a linked server. 您不需要在查询中指定本地服务器,因为它不是链接服务器。 So change your query to: 因此,将查询更改为:

SELECT *
FROM [db1].[dbo].[Order] T1
JOIN [S2].[db1].dbo.[Invoice] T2
ON T1.[OrderID] = T2.[InvoiceID]

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM