Integration Services 交易
封裝使用交易將工作執行的資料庫動作繫結至原子單位,這樣可以保持資料的完整性。 所有 Microsoft Integration Services 容器類型 (套件、For 迴圈、Foreach 迴圈和時序容器,以及封裝每個工作的工作主機) 皆可設定為使用交易。 Integration Services 提供三個選項來設定交易:NotSupported、Supported 與 Required。
Required 指出容器會啟動交易,除非其父容器已經將其啟動。 如果交易已經存在,則容器會聯結交易。 例如,如果未設定為支援交易的封裝包括使用 Required 選項的「時序」容器,則「時序」容器會啟動其自己的交易。 如果封裝設定為使用 Required 選項,則「時序」容器會聯結封裝交易。
Supported 指出容器不啟動交易,但會聯結其父容器啟動的任何交易。 例如,如果具有四個「執行 SQL」工作的封裝啟動交易,且全部四個工作都使用 Supported 選項,則任何工作失敗時,都會回復「執行 SQL」工作執行的資料庫更新。 如果封裝未啟動交易,則四個「執行 SQL」工作不會由交易繫結,且只會回復由失敗之工作執行的資料庫更新。
NotSupported 指出容器不啟動交易或聯結現有的交易。 父容器啟動的交易不會影響已設定為不支援交易的子容器。 例如,如果封裝設定為啟動交易,且封裝中的「For 迴圈」容器使用 NotSupported 選項,則「For 迴圈」中的工作一旦失敗將無法回復。
您可以設定容器上的 TransactionOption 屬性來設定交易。 使用 SQL Server Data Tools (SSDT) 中的 [屬性] 視窗來設定此屬性,也可以程式設計方式設定此屬性。
注意
TransactionOption
屬性會影響是否會套用容器所要求的 IsolationLevel
屬性值。 如需詳細資訊,請參閱設定封裝屬性主題中的屬性描述 IsolationLevel
。
若要設定封裝使用交易
外部資源
- 位於 www.mssqltips.com 的部落格內容:如何在 SQL Server Integration Services SSIS 中使用交易 \(英文\)