Ssis

SSIS事務問題

  • February 18, 2015

我正在嘗試將 SQL 事務與我的 SSIS 包一起使用,因此如果出現任何錯誤,更改將回滾。

為此,我在控制流中使用“序列容器”並將其“事務選項”設置為“必需”。

但它無法執行包並給出 DTS 錯誤。(如果我從序列容器中刪除數據流,一切正常)。

我已經按照此處所述對伺服器進行了更改: http ://www.databasesupport.eu/categories/sql-server/1482-ssis-distributed-transactions

你能告訴我是否有我遺漏的東西。我是否需要在導入數據的伺服器和導入的伺服器上都進行 DTS 設置。

請告訴我缺少什麼。我對 SSIS 很陌生。

是的。您需要將與您的流程相關的所有伺服器都配置為 DTC。

當您使用本機 SSIS 事務功能時,如果連接管理器是完全自包含的,那麼會在幕後BEGIN TRAN...COMMIT|ROLLBACK發布標準。當涉及多個伺服器時,分佈式事務協調器就會發揮作用。即使您只是從源表中讀取數據,SSIS 也會嘗試在事務中徵用該 SELECT 語句。

我們在處理 DB2 時很難學到這一點,因為它們顯然具有啟用/拒絕事務的能力。我們在使用過時的 MySQL 實例時也遇到了問題,因為它不支持事務的概念。在那種情況下,我們有兩個數據流。一個在沒有事務的情況下執行並寫入本地文件,然後使用事務控制的數據流將該文件讀入我們的目標表。對於非常大的數據集,這不是一種可取的方法,但對於我們的問題集來說效果很好。

引用自:https://dba.stackexchange.com/questions/93143