2008-09-16 22 views
3

我有一個存儲過程中的SQL插入查詢,用於將行插入到鏈接的服務器表中。如何防止插入查詢註冊到分佈式事務中?

由於存儲過程在父事務中被調用,所以此Insert語句嘗試使用DTC將行插入鏈接服務器。我想避免 DTC從捲入。

有什麼辦法可以做到這一點(如提示)的插入SQL語句忽略事務範圍?

回答

4

我的建議是,你存儲任何你想插入到臨時表中,並且一旦過程結束運行跨服務器插入。據我所知,一旦進入SProc執行過程中,您無法忽略您所處的事務。

相比之下,如果您使用.NET 2.0的System.Transaction命名空間,則可以告訴特定語句不參與任何父範圍事務。這將需要你用代碼而不是存儲過程編寫你的一些邏輯,但是會起作用。

這是relevant link。你好, 艾倫。

+0

謝謝Alan。看起來我唯一的選擇是在不重寫代碼的情況下爲服務器啓用DTC。 – 2008-09-16 22:34:32

相關問題