跨多个SQL服务器的SQL查询

3

我有两台SQL服务器。我需要一个可以连接位于两个不同服务器上的两个表格的SQL查询。

例如:

SELECT  *
FROM    Server1.Db1.dbo.table1 A
        INNER JOIN Server2.Db1.dbo.table2 B ON A.Id = B.Id

我没有服务器名称,而是使用服务器的IP地址。我需要将这些SQL服务器启用为链接服务器以允许跨服务器查询吗?


1
如果这些数据库位于不同的服务器上,那么是的,您需要为此创建一个链接服务器。 - Sean Lange
1
你可以使用链接服务器或OPENDATASOURCE。但要小心,这些远程查询可能会很快失控。 - sam yi
2
可能是跨服务器SQL的重复问题。 - Ajk_P
1
这里在StackOverflow上有一篇名为“在SQL Server中从两个不同的服务器选择数据”的帖子--> https://dev59.com/dXM_5IYBdhLWcg3w-4dg - Orlando Herrera
2个回答

7
您可以使用sp_addlinkedserver继续使用联接服务器。 完成后,您可以查询您提到的数据;
SELECT  *
FROM    [Db1].[dbo].table1 A
INNER JOIN [Server2].[Db1].[dbo].table2 B 
ON A.Id = B.Id

1

是的,将其添加为链接服务器是一种选项。您还可以通过使用[ip地址]。dbname.dbo.table name加入远程表。


2
在MS SQL 2012中,即使使用IP地址,它仍需要在sys.servers中。 - Tomasz Gandor

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接