搜尋本站文章

2013-05-13

認識檢查點(checkpoints) - 以 SSIS 2012 為例


示範版本:SQL Server 2012
開發工具:SSDT - Visual Studio 2012

認識檢查點(checkpoints) - 以 SSIS 2012 為例

Integration Services 可以從失敗點重新啟動失敗的封裝,而無需重新執行整個封裝。

如果封裝設定為使用檢查點,則封裝執行的相關資訊會寫入檢查點檔案。

當失敗的封裝重新執行時,檢查點檔案會用於從失敗點重新啟動封裝。

如果封裝順利執行,則會刪除檢查點檔案,然後在下次封裝執行時重新建立檢查點檔案。

在封裝中使用檢查點有下列優點:


  • 避免重複下載和上傳大型檔案。 例如,對每個下載使用 FTP 工作來下載多個大型檔案的封裝,在下載單一檔案失敗後可以重新啟動,然後只下載該單一檔案。



  • 避免重複載入大量資料。 例如,如果封裝針對每個維度使用不同「大量插入」工作向資料倉儲中的維度資料表執行大量插入,則當一個維度資料表的插入失敗時,該封裝會重新啟動,且只重新載入該維度。



  • 避免重複彙總值。 例如,使用資料流程工作執行每個彙總以計算許多彙總 (例如,平均和總和) 的封裝,可以在計算一個彙總失敗之後重新啟動,且只重新計算該彙總。


如果封裝設定為使用檢查點,則 Integration Services 會擷取檢查點檔案中的重新啟動點。

失敗的容器類型和功能的實作 (例如,交易) 會影響檢查點檔案中記錄的重新啟動點。

檢查點檔案中也會擷取變數目前的值。
然而,具有 Object 資料類型之變數的值不會儲存於檢查點檔案中。




影片:
認識檢查點(checkpoints) - 以 SSIS 2012 為例






參考資料

使用檢查點來重新啟動封裝
http://technet.microsoft.com/zh-tw/library/ms140226(v=sql.110).aspx

2013-05-09

認識 Integration Services 交易(transactions) - 以 SSIS 2012 為例


示範版本:SQL Server 2012
開發工具:SSDT - Visual Studio 2012

認識 Integration Services 交易(transactions) - 以 SSIS 2012 為例

封裝使用交易將工作執行的資料庫動作繫結至原子單位,這樣可以保持資料的完整性。

所有 Microsoft Integration Services 容器類型 (封裝、For 迴圈、Foreach 迴圈和時序容器,以及封裝每個工作的工作主機) 皆可設定成使用交易。

 Integration Services 提供三個設定交易的選項,分別是 NotSupported、Supported 及 Required。

(1) Required 指出容器會啟動交易,除非其父容器已經將其啟動。

如果交易已經存在,則容器會聯結交易。

例如,如果未設定為支援交易的封裝包括使用 Required 選項的「時序」容器,則「時序」容器會啟動其自己的交易。

如果封裝設定為使用 Required 選項,則「時序」容器會聯結封裝交易。

(2) Supported 指出容器不啟動交易,但會聯結其父容器啟動的任何交易。

例如,如果具有四個「執行 SQL」工作的封裝啟動交易,且全部四個工作都使用 Supported 選項,則任何工作失敗時,都會回復「執行 SQL」工作執行的資料庫更新。

如果封裝未啟動交易,則四個「執行 SQL」工作不會由交易繫結,且只會回復由失敗之工作執行的資料庫更新。

(3) NotSupported 指出容器不啟動交易或聯結現有的交易。

父容器啟動的交易不會影響已設定為不支援交易的子容器。

例如,如果封裝設定為啟動交易,且封裝中的「For 迴圈」容器使用 NotSupported 選項,則「For 迴圈」中的工作一旦失敗將無法回復。




影片:
認識 Integration Services 交易(transactions) - 以 SSIS 2012 為例




設定封裝來使用交易

將封裝設定成使用交易時,您有兩個選項:

(1) 擁有封裝的單一交易。

在此情況下,封裝本身會「起始」(Initiate) 這筆交易,而封裝中的個別工作和容器會參與這個單一交易。

(2) 在封裝中擁有多個交易。

在此情況下,雖然封裝支援交易,但是封裝中的個別工作和容器實際上會起始交易。





參考資料

Integration Services 交易
http://technet.microsoft.com/zh-tw/library/ms137690.aspx

設定封裝來使用交易
http://technet.microsoft.com/zh-tw/library/ms141144.aspx

設定封裝屬性
http://technet.microsoft.com/zh-tw/library/ms137749.aspx