我需要存檔10天的舊數據以存檔數據庫表,您能否幫我理解如何將數據從一組相關表複製到另一個,包括同時保持行之間的正確關係。使用ssis複製一組相關表中的一些數據到另一個使用ssis
這是一個圖,其示出了用於源和目標組表的數據模型:在存檔數據庫
相同的表結構。
我需要存檔10天的舊數據以存檔數據庫表,您能否幫我理解如何將數據從一組相關表複製到另一個,包括同時保持行之間的正確關係。使用ssis複製一組相關表中的一些數據到另一個使用ssis
這是一個圖,其示出了用於源和目標組表的數據模型:在存檔數據庫
相同的表結構。
你應該能夠使用「數據流任務」來實現這一點,大概每個表一個。只需從沒有任何依賴關係的表(圖中的表A)開始,然後使用SSIS工具箱中適當的數據源和目標組件將數據從源表複製到目標表。之後,複製僅依賴於這些第一個表(表B)的表的數據等等。
如果源表中的主鍵列以某種方式計算(例如,通過使用標識增量),則歸檔表中的相應列應該是相同的數據類型,但是,不應該計算它們,因爲這會混亂與你的依賴關係。不過,它們仍然可以成爲主鍵。
更新:關於10天部分:在您的數據源組件,您可以使用SQL查詢來只讀您需要的特定行。只要您可以確保SSIS作業不會在某一天開始並運行到午夜(即它完全在一天內運行),則可以計算這些查詢的WHERE
條件中的日期部分。更清晰的解決方案是計算第一個數據流任務之前的日期,然後將其作爲變量傳遞給每個數據流任務。這樣可以確保所有查詢都使用相同的日期值。