2013-02-20 112 views
2

我們正在爲我們的軟件開發報告模塊,因此我們需要將一些數據從系統的生產數據庫移動到datawarehouse數據庫中,該數據倉庫數據庫將用作數據源爲報告(SQL Server報告)。將數據從生產數據庫移動到數據倉庫(SQL Server)

生產數據庫中的模式是相當古老的,所以一旦我們在DW DB中有數據,我們將需要一些額外的字段(例如,計算正確的日期時間列出prod數據庫的'日期'和'時間'不要問,它是舊的。)

我們正在內部討論如何以有效的方式做到這一點。現在,它實現了一個繁瑣的SSIS工作,基本上將整個DW數據庫每天晚上,並從prod db再次建立它,進行數據轉換,這不會很好。

我一直在尋找使用「更新」的技術,例如SQL Server複製到移動數據i更細化的方式。

我的問題是: - 複製「移動數據」部分顯然是解決的,但不是數據轉換部分。我知道我可以在DW數據庫上創建更新觸發器,但是當我對訂閱進行重新初始化時,所有與表格相關的觸發器似乎都會被擦除,這使得設置變得困難。

我不是在尋找一個確切的答案,更多的提示在哪個方向採取這一點。對不起,如果問題有點模糊。

更新: 感謝以下的好處。這是我們向客戶銷售的軟件,因此我非常樂意爲客戶設置和維護儘可能少的「配置項目」。現在的SSIS包裹是一個讓客戶隨時關注的「項目」,以及它的時間表。

複製引起了我的興趣,因爲它在移動數據時完全違背了整個CRUD「難題」,但您可能是對的 - 只要SSIS邏輯創建得比今天更智能一些,SSIS仍然會更好。

數據可能相當大,所以像今天這樣擦拭和重新導入所有內容肯定是一個需要解決的問題 。

+0

你看着慢慢變化的尺寸?在維基百科上檢查它,因爲這有不同的形式...可能只是爲你正確的方向邁出的一步(雖然它並不一定回答你的問題) – SQLGuru 2013-02-20 12:04:50

回答

1

我不認爲複製是一個好主意。如果源模式和目標模式完全相同,但正如您所指出的那樣,它們不是。而且,你提到SSIS的所有計算都在做,你仍然必須這樣做,因爲複製不會。

我認爲SSIS是要走的路,我的意思是,這正是它存在的原因。

由於您在每個負載上重新創建數據庫,並且如果計算量和更改量不是很大,並且您不需要執行查找以從自然鍵獲取代理鍵,則可以在主數據庫上創建視圖嘗試模仿目標數據庫的結構,這樣你就可以直接插入(幾乎是一個映射到destiantion組件的源組件)

也許如果你指定了你想解決的SSIS的真正問題,那可能是更容易幫助。

+0

謝謝。更新了我的問題 – Trondh 2013-02-20 15:22:33

0

只是一個快速更新:SQL Server的CDC功能似乎是我們需要研究的,這個功能與SSIS很好地集成。感謝您對緩慢變化的維度和SSIS的提示!