如何从SQL Server中不同服务器上的两个不同数据库中获取数据?
答案 0 :(得分:0)
您将需要创建一个链接服务器到将在其中执行查询的服务器。 您可以使用sp_addlinkedserver创建一个。您可以引用here。
示例将用于同一SQL Server
EXEC sp_addlinkedserver
N'SEATTLESales',
N'SQL Server';
GO
一旦创建了链接服务器。您现在可以通过执行以下操作在查询中引用它:
SELECT * FROM [NameOfLinkedServer].[DatabaseInLinkedServer].[dbo].[TableInLinkedServer]
或者您可以检查Dave Brown对问题的评论:Here。
答案 1 :(得分:0)
您确实可以做到这一点,但我建议您反对。您可以在DB-SERVER-1上创建一个链接服务器,将其连接到DB-SERVER-2。
(链接服务器定义由DBA设置。它包含远程服务器的登录凭据。如果您想每次自己提供登录凭据,则可以使用openquery或openrowset命令。)
然后,假设您正在DB-SERVER-1上运行此查询,则可以使用以下四部分命名约定编写查询:
select *
from DB1.dbo.YourTable a
join [DB-SERVER-2].DB2.dbo.OtherTable b on b.ID = a.ID
跨服务器联接因性能问题而臭名昭著。我只会出于管理目的这样做,而绝对不会针对大型结果集。