我需要运行将在两台服务器上运行的查询。
一个是本地(Server1),一个是192.144.22.22(Server2)
我试试这个:
SELECT *
FROM [Db1].[dbo].table1 A
INNER JOIN [Server2].[Db1].[dbo].table2 B
ON A.Id = B.Id
但这样可以正常工作,因为这两个数据库位于本地计算机上。
怎么做?
答案 0 :(得分:1)
您可以使用链接服务器执行此操作
来自MSDN
链接服务器配置为允许数据库引擎执行 一个Transact-SQL语句,包含另一个实例中的表 SQL Server或其他数据库产品,如Oracle。
MSDN page for how to create a Linked server.
您可以使用SQL Server Management配置链接服务器 Studio或使用sp_addlinkedserver(Transact-SQL)语句。 OLE DB提供程序的类型和参数数量差异很大 需要。例如,某些提供商要求您提供安全性 使用sp_addlinkedsrvlogin(Transact-SQL)进行连接的上下文。 某些OLE DB提供程序允许SQL Server更新OLE DB上的数据 资源。其他只提供只读数据访问。有关信息 有关每个OLE DB提供程序,请参阅该OLE DB的文档 提供商。