1

我正在尝试搜索 2 台服务器(A 和 B)。服务器 A 有数据库 PROD_A,服务器 B 有 PROD_B。PROD_A 有 table1,PROB_B 有 table2。如何合并来自 2 个不同 SQL Server 的 2 个表?已经完成了链接服务器的设置,但我遇到了查询语法问题。谢谢。

4

3 回答 3

1

您可能需要一个 UNION 查询。

SELECT * FROM [serverA].[dbName].[table1]
UNION
SELECT * FROM [serverB].[dbName].[table2]

正如 Gordon 所指出的,如果是 SQL Server,您会希望将每个表称为完整的四部分名称。

于 2013-05-18T16:48:09.427 回答
1

您需要使用 sp_addlinkedserver(在此处记录)创建链接服务器。在服务器 A 上发出命令:

sp_addlinkedserver ServerB

然后使用以下命令访问远程表:

select *
from ServerB.Prod_B.dbo.table2

这是远程表的四部分命名约定。它假定远程表位于名为“dbo”的模式中。如果没有,请将其更改为正确的架构。

如果您有权限问题,请发布另一个问题。

如果您想在一个查询中访问它们,请将表放在一个查询中

select *
from ServerB.Prod_B.dbo.table2 join
     Prod_A..table1
     on . . .
于 2013-05-18T16:44:50.057 回答
0

您正在寻找的功能是 MUltiServer 查询,我在几年前使用过它。看看这篇文章。

于 2013-05-18T16:38:51.680 回答