如何从两台不同的服务器和SQLServerManagementStudio中的数据库中选择同一查询中的数据?

如何从两台不同的服务器和SQLServerManagementStudio中的数据库中选择同一查询中的数据?,sql,sql-server,db2,linked-server,Sql,Sql Server,Db2,Linked Server,如何从两个不同服务器(一个是DB2服务器,另一个是SQL服务器)上的两个不同数据库中选择同一查询中的数据?在SQL服务器上,设置一个链接到DB2数据库的服务器 然后在sql server上编写查询。我建议您使用openquery来处理db2。如果必须组合数据,请使用openquery结果填充sql server临时表,并从中开始工作 我建议这样做的原因是性能。我发现如果你使用这种语法 select somefields from server.database.owner.table where

如何从两个不同服务器(一个是DB2服务器,另一个是SQL服务器)上的两个不同数据库中选择同一查询中的数据?

在SQL服务器上,设置一个链接到DB2数据库的服务器

然后在sql server上编写查询。我建议您使用openquery来处理db2。如果必须组合数据,请使用openquery结果填充sql server临时表,并从中开始工作

我建议这样做的原因是性能。我发现如果你使用这种语法

select somefields
from server.database.owner.table
where whatever

sql server将从链接服务器返回整个表,然后应用where子句。

您可以设置链接服务器


我记不起来了,但您需要两节课吗?Server..database?@christiandev当它是链接服务器时,通常语法是[Server].[database].[Schema].[Table];当然,如果我们在服务器上,我们可以通过键入双句点(如Database..Table)跳过查询中的模式。