今天剛剛開始使用BIDS和SSIS時,我就像他們來的那樣綠。我想創建一個表並從Access數據文件導入一些數據。我得到了這個工作,但我必須不斷刪除部分結果,我認爲把它全部包裝在交易中將是一個好主意。我沒有運行MSDTC,所以我想我只會使用手動事務。我嘗試添加包含BEGIN TRANS的Execute T-SQL Task,然後再添加兩個COMMIT TRANS和一個ROLLBACK Trans。如果數據流任務失敗,它會進行回滾,否則它會提交。當它達成提交時,它總是說沒有開始交易。包裹看起來像這樣。這是支持,我只是想設置一些神奇的屬性,使其工作?如何在BIDS和IIS中使用手動T-SQL事務?
回答
由於這些任務是獨立運作的,這就是爲什麼你的開始/回滾/提交將無法工作。如果您只想刪除表中的所有數據,請在數據流任務失敗時在該表上運行TRUNCATE語句。 當像這樣加載時,我通常清理表並每次填充它以測試數據流任務。
查看我對HLGEM的回覆,我希望避免截斷表格並重新開始。我認爲我要做的是在完成每個源代碼後分離並複製數據庫。這樣,如果第六個源代碼搞砸了,我可以從最近的一個保存點開始。 – Tod 2012-04-20 17:05:46
如何將源數據作爲輸入文件並使用存儲過程進行批量插入?這些可以用交易包裝。或者,如果可以的話,您可以將不同的數據源加載到不同的登臺表中。這樣你就知道哪一個失敗了,可以重新處理它。一旦所有加載成功完成,您可以將所有臨時表合併到單個數據表中。 – zhanif 2012-04-25 09:11:58
嗨,使用OLE DB連接管理器的RetainSameConnection屬性。我遇到了這篇文章,它回答了你的問題:http://consultingblogs.emc.com/jamiethomson/archive/2005/08/20/SSIS-Nugget_3A00_-RainainSameConnection-property-of-the-OLE-DB-Connection-Manager。 aspx – zhanif 2012-04-27 12:32:40
好的,這裏是我如何評價這件事的建議。我通常會轉換數據,以便在執行數據流加載到產品之前不需要回滾。所以我加載到一個臨時表和tehn或者清理數據或者刪除不良記錄,或者檢查是否存在某個會導致回滾的事件,然後再考慮在生產表中添加一些內容。如果你有驚人的成績,他們應該在你投入生產之前就發生。如果你只是想找到並處理這些商品化的記錄,暫存表將允許你這樣做,將不良數據發送到例外表等,所有這些都不會產生干擾。當你掌握最後的數據流時,每個人都知道這一點很好。我們進行數千次進口,從不需要在產品級別進行回滾。
如果你確實真的想要在產品級別回滾,那麼可以在執行SQl任務時使用數據流來填充登臺表,這是一個存儲過程,具有顯式事務並嘗試catch塊以便在出現錯誤時回滾。
我正在做一個臨時數據庫中的所有東西,這是我想要做的簡單示例。我將在多個來源上多次運行一些SSIS任務。如果在完成5個源代碼之後,我發現第6個代碼有問題,如果我可以避免重新開始,但看起來也許我必須爲此擁有MSDTC。不知道我明白爲什麼我不能打開一個TRANS,然後COMMIT或回滾許多任務,但似乎並不是這個工具打算如何使用。 – Tod 2012-04-20 17:04:18
- 1. 如何在服務器中安裝BIDS
- 2. TSQL - 在事務中禁用觸發器
- 3. TSQL中的嵌套事務
- 4. 如何在Spring中的共享EntityManager上手動啓動事務?
- 5. 如何手動啓動IIS Express
- 6. 如何在IIS中使用性能計數器和WCF服務?
- 7. 手動區分TransactionScope和Rollback事務?
- 8. 如何在Django中測試手動DB事務代碼?
- 9. 如何在Spring管理事務中手動管理Neo4j鎖
- 10. 如何在sql server 2005中手動提升事務日誌?
- 11. 如何在使用故事板時使用搖動手勢?
- 12. 用於JPA的手動事務服務和DAO層與彈簧
- 13. 如何使用TSQL
- 14. 如何在Rails中啓動事務而不啓動事務?
- 15. SSIS - BIDS幫手安裝
- 16. 如何手動將Web服務部署到IIS
- 17. 如何在TSQL中使用循環?
- 18. 如何在CTE tsql中使用Case Satement?
- 19. 如何在PHP中使用Interbase事務?
- 20. 如何在SQLite中使用事務?
- 21. 如何在DotNetNuke中使用事務?
- 22. 如何在事務中使用oracledataadapter?
- 23. 如何在PHP中使用MySQL事務?
- 24. 如何在Ruby DataMapper中使用事務?
- 25. DBD中的手動事務管理:: Pg
- 26. 我如何手動配置在IIS中的虛擬目錄
- 27. 如何創建和使用Oracle事務
- 28. 在BIDS Helper中使用條件
- 29. 如何讓IIS服務自動啓動?
- 30. 在tsql中使用DateDiff和GetDate()
http://www.mssqltips.com/sqlservertip/1585/how-to-use-transactions-in-sql-server-integration-services-ssis/ – 2012-04-18 06:24:57
感謝您的鏈接,總是很好知道在哪裏可以找到提示。不幸的是,這一個是關於使用內置的事務支持,需要MSDTC,正如我在我的問題中提到,我沒有運行。我仍然會花更多的時間閱讀這些內容,只是爲了看看我還能學到什麼。 – Tod 2012-04-18 17:15:05