@ SQL Server SSIS主要會遇到的一些問題:
   1.Data provider、driver選用的不好、不恰當
   2.Task的屬性設定的不好
   3.資料的處理、提取、載入的程序設計不良
   4.Security issue的問題所造成

@ SSIS support OLEDB、 ADO.net較好
   SSIS support ODBC較不好

@ 利用平行運算來增加效能

@ 做大量料轉換時盡量減少SURSOR的使用

@ 資料轉換時必須考量來源端、目的端與資料處理端的環境因素

@ 在64 bit OS平臺中SSIS有兩組bin(為了要向下32支援),64 bit一組、32一組,選擇洽當的bin執行是影響校能的因素之一

@ ETL、ELT兩個資料處理模式中,建議使用ELT來處理資料,透過db enguine來處理資料會比在SSIS中處裡要來的速度要快的多,
SSIS只用來做為管控、log、monitor的工作。

@ 若資料來源端、目的端沒有提供OLEDB、ADO.NET時,建議做ETL時使用DTS(再由SSIS來呼叫DTS)
=>須要在SQL 2008中裝SQL 2005回朔性相容元件,安裝的方式參考胡百敬老師的blog
若資料來源端、目的端有提供OLEDB、ADO.NET時,建議做ETL時使用SSIS.

@ SSIS的轉移:
匯出:將MSDB上sysssispackagefolders、sysssispackages table資料轉移到其他DB上
佈署:在SSIS封裝上點兩下即會出現SSIS封裝精靈。

@ 如何撰寫傳遞動態參數的SSIS?
1.在BIDS中設定相關屬性
2.在BIDS中透過參數、連接、並使用SQL Expresses屬性來做mapping
3.使用.net程式來撰寫最彈性

98/9/2 SQL 24 pass 中有關SSIS效能研討會補充筆記

1.SSIS效能影響的因素:
網路、DISK I/O、Database的執行速度

2.package Property:MAXConcurrentExecutables
default=-1
建議將此值改為processor 數+2

3.Looping執行時不能使用parallel的方式執行
但是task flow卻可以.

4.其他屬於速度較慢的task(盡量不要用):
如:XML Task、Web Service Task

5.Data Folw slow的原因:
1.slow source
2.slow distination
3.不良的設計

6.data flow的建議:
1.sort and join in the database
2.map、transform在data flow中做


7.不要在SSIS中使用SQL來操作大量資料,建議一筆row,一個sql statement,
Select 移除不必要的欄位
如果可以盡可能使用merge join、union all

8.盡可能在來源端做sort
如果來源資料已經sort了,要善用IsSorted、SortKeyPosition 屬性

9.buffer size的大小會影響資料轉換的速度

10.SSIS的設計絕招
1.log 所有 data flow 階段所花費的時間(OnPostExecute)
2.使用RowCount來記錄資料轉換的筆數
3.使用DTEXEC來測試ETL流程的效能
4.DTEXECUI工具包含所有ETL執行的效能資訊
5.只要有修改,上述的動作就必須重run一遍


11.SSIS不support cluster env環境

arrow
arrow
    全站熱搜

    噗噗噗的潛水珽 發表在 痞客邦 留言(0) 人氣()