2011-08-28 204 views
2

加快導入過程的任何提示? Theres在db中的聯接很多。用SSIS導入數百萬條記錄

另外,當一個SSIS任務完成後,通過代碼處理下一個函數或使用電子郵件通知SSIS的最佳方法是...?

回答

4

下面是我用來說明在3分鐘內從文本文件加載100萬行到SQL Server數據庫的示例。樣本中的包使用SSIS 208 R2創建,並在至強單核CPU 2.5GHz和3.00 GB RAM上執行。

Import records on SSIS after lookup

一個在進口大量行的將成爲目標組件的主要瓶頸。目標組件可以更快地插入行,前面的源或轉換組件可以更快地處理行。同樣,如果碰巧有像排序轉換這樣的組件,將會有所不同,因爲排序轉換會在發送到管道之前阻止所有要排序的數據。

發送電子郵件取決於你想要做什麼。

  • 如果您需要簡單的成功或失敗,您可以簡單地使用發送郵件任務。其他選項是,您還可以在SQL作業上啓用警報通知,以便您可以安排該程序包定期運行。

  • 如果您需要更多信息添加到電子郵件中,則可能需要使用腳本任務來制定郵件正文。創建郵件正文後,您可以從腳本任務中發送郵件或使用發送郵件任務。

希望隨着文章@Nikhil S提供的例子應該可以幫助你微調你的包。

2
This SimpleTalk article

討論如何優化數據流任務

平鋪分區數據到被轉移成N個數據流。其中N是安裝了ssis的服務器上可用的cpu核心數量。 使用ssis緩衝區大小屬性來玩我們的設置最適合您的數據類型。

+0

您認爲平均每個導入需要多長時間才能獲得這麼多的數據..也許有30列。 –

+0

以及它依賴於1.目標表是一堆還是不是。 2.您如何設置數據流任務。 etc .. –

+0

30列進入約2個表,每個約有2個連接..他們很簡單,如果/然後,沒有內部循環.. –