从SQL Server中的两个不同服务器获取数据

时间:2018-10-22 10:31:07

标签: sql sql-server

如何从SQL Server中不同服务器上的两个不同数据库中获取数据?

2 个答案:

答案 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

跨服务器联接因性能问题而臭名昭著。我只会出于管理目的这样做,而绝对不会针对大型结果集。