我想要做的是讓多個線程,進程甚至機器共享單個事務。準確地說。我想將大量工作(主要是SQL Server查詢)分享給我的多個線程,進程或機器,並且我希望工作是原子化的。我已經看過MSDTC,但是如果您想要更新幾個不同的SQL Server實例(或其他資源),並且在同一個事務下擁有所有內容,但它似乎總是源於同一個源。即一個過程(一個連接)。可能嗎?對技術沒有限制,除了SQL Server。我想要兩個階段提交,但我想從一臺機器啓動事務,並將該事務(或加入它的一種方式)提供給其他進程。從多個來源到單個SQL服務器實例的分佈式事務
問題定義 問題是我有一個很長的過程,它涉及到一些複雜的計算和數據庫更新。整個過程可以預定,並且可以並行處理大量過程。我想將該處理(包括數據庫更新)作爲獨立進程(包括遠程進程)進行處理。
「很多事情可以並行處理」事務絕對沒有辦法可以並行執行多個語句(將會話綁定到單個事務中並沒有什麼區別)。閱讀https://msdn.microsoft.com/en-us/library/ms131686.aspx – 2015-04-02 19:00:00
這不是我想要並行執行的實際SQL語句。這是SQL語句之前的處理。我看過的一件事是通過單個進程傳遞SQL語句。它們是否線性處理並不重要。 – Steve 2015-04-02 20:57:19
如果你想擴大處理範圍,你爲什麼要求參與交易?在流程/會話中進行所有數據庫交互,並將工作(通過IPC)交給您的流程。順便說一句,如果處理過程非常繁重以至於無法擴展,那麼由於事務長度的限制,它不能在單個事務中完成。看起來像你真正想要的是一個工作流程。 – 2015-04-03 10:03:31