Sql-Server-2008-R2

使用 SSIS 跨伺服器查詢

  • June 4, 2017

我需要對兩台伺服器上的數據庫發出查詢:

[CRM].[CRM].[dbo].[BasicInfo] (NationalID PK, CustomerCardNo)
[ERP].[ERP].[dbo].[Order] (OrderID PK, CustomerCardNo)

我想做的是這樣的:

select * 
from   [ERP].[ERP].[dbo].[Order] as O 
where  O.CustomerCardNo in (select CustomerCardNo 
                           from   [CRM].[CRM].[dbo].[BasicInfo]);

我認為有三種方法可以實現這一點:

  1. 連結伺服器:我的經理可能不會授權,因為他們不熟悉連結伺服器;
  2. 開放數據源:公司政策不允許開發者訪問數據庫密碼;
  3. SSIS:似乎是唯一的選擇,我公司廣泛採用SSIS。

當我在Google上搜尋時,我沒有找到有關如何使用 SSIS 執行此操作的教程。最接近的問題是這個。請給我一些指導。

使用 SSIS 可以通過多種方式實現此目的:

  1. 使用查找轉換
  2. 使用腳本任務
  3. 使用執行 Sql 任務

您也可以找到其他方法…

我對stackoverflow上的一個類似問題有詳細的回答:

由於您所做的相當於內部聯接,請嘗試一下: SSIS Merge Join

引用自:https://dba.stackexchange.com/questions/175328