2011-09-21 52 views
0

所以我有兩臺服務器。 SER1,SER2。 SER1是我應該複製數據並將其放入SER2的地方。SSIS:集成兩臺服務器

而且我有幾個SER2存儲的特效,我需要執行,然後放回了預期的效果在SER1不同的表。

現在,我需要2個更多的存儲特效。 1.將SER1的基本數據複製到SER2,其他將SER2的所有數據複製到SER1。

問:

  1. 在哪個服務器,我應該使這些存儲的特效?
  2. 我應該做一個可以運行所有SP的SSIS包,所以SSIS包正在照顧從SER1到SER2的數據拷貝? (我沒有鏈接服務器)

回答

2

是的,你可以在SSIS中沒有鏈接服務器的情況下執行存儲過程作爲數據源。但是,您不能在存儲的proc中使用臨時表。我通過使用派生表或CTE得到了這個結論。該proc應該只是一個選擇而不是一個行動過程。

您希望proc位於您可以從SSMS運行它的位置。所以如果它引用服務器a,數據庫b中的表,那就是它需要的地方。

在SSIS中創建您要Ø比布爾作爲源或目標中使用的每個數據庫的連接。

然後創建一個數據流,並使用包含要在OLE DB源連接的源連接運行PROC數據庫。將數據訪問模式設置爲SQL命令,並將exec statemenet運行proc inteh SQL命令文本。如果您需要輸入參數,請單擊參數按鈕來完成此操作。現在檢查欄標籤。如果沒有列出現,您的存儲過程需要調整以使其作爲連接工作。

然後爲要將數據放入的數據庫選擇連接作爲目標連接。並告訴它什麼表,並做映射。

+0

感謝您的回答。因此,在控制流程中,我需要執行哪些任務以及在數據流中需要什麼轉換?也協助我將一項任務連接到另一項。謝謝 –

+0

您需要執行哪些任務取決於您在做什麼以及需要轉換多少數據。我不能在這樣的網站上回答這樣的問題。 – HLGEM

0

首先,你需要鏈接服務器,我不明白你的意思是「我沒有鏈接服務器」 - 與你需要創建一個鏈接服務器。

爲1)你寫的基於邏輯的存儲過程,如果你有兩個服務器1和2,你想將數據從服務器1複製到服務器2,則服務器1理應包含存儲過程。它是否必須是這種方式,絕對不是,它可以在服務器2上,但邏輯思考這個。

對於2)你需要一個鏈接的服務器,怎麼回事你能執行ServerName.DbName.Owner.Table?

+0

我可以只做一個SSIS包並執行一個存儲過程的包,它會自動將表複製到兩臺服務器上? –