2017-09-20 59 views
0

我們正在尋找從合作伙伴的Microsoft SQL服務器收集數據並將其導入到我們自己的SQL Server中。我們想要做的一部分是將所有數據分開,然後將它們結合在一起,以便我們可以創建基線來比較他們如何相互對抗。我很想知道可能有哪些最佳實踐或建議可以實現這一目標?從多個SQL服務器導入數據

我能想到的最簡單的方法是將它們設置爲SQL Server上的鏈接服務器,然後編寫存儲過程(並使用SQL Server代理程序自動執行計劃)以將數據從每個表導入到本地表。我也開始考慮第三方系統來做這件事(例如stitchdata),但是沒有看到能夠將數據導回到本地的那些系統,他們中的大多數似乎將數據導入到雲數據庫解決方案中。

有沒有人做過類似的事情,可以幫助我們走向正確的方向?

謝謝!

+0

他們是否有人管理您需要獲取的數據? –

+0

從我的一個建議是,不使用sql的。我做了很多次類似的事情,過了一段時間,這裏有一點邏輯。例如在其他表中寫入選定的數據(通過相同的條件)。之後,有越來越多的邏輯,並且它總是很難維護這個SQL代碼。對我而言,好的方法是用C#編寫一些wndows服務。開始時會很簡單。良好的抽象會導致未來發展沒有問題。 – Arkadiusz

+0

與將數據恢復到本地實例並從中遷移相比,通過遠程鏈接服務器的速度會非常慢。客戶是否願意向您發送當前的.BAK? –

回答

0

要使用SQL工具解決此問題,您需要創建一個臨時數據庫來加載所有外部信息。

要收集數據,您可以使用SSIS包直接連接到源。並計劃在SQL ServerAgent的包

我避免使用鏈接的服務器ETL的原因有很多建議,但對我來說最重要的是:

  • 如果遠程服務器不可用,所有的ETL過程可能是破碎。
  • 這個過程本來就和原點緊密聯繫在一起,如果來源發生變化,你需要重建很多東西。

Tou可以使用或不使用SP來加載和比較最終數據庫和舞臺之間的表。這取決於數據庫是否位於同一服務器上,性能等。