transaction manager has disabled its support for remote/network transactions. 該夥伴事務管理器已經禁止了它對遠程/網絡事務

最近再用SSIS作數據歸檔,裏面用到了分佈式事務。在開發階段是在一臺計算機上運行只要是啓動分佈式服務就沒什麼問題,但是昨天把它部署到uat的時候遇到問題,錯誤信息是:html

最後找到解決方案:node

    1. 確認"Distribute Transaction Coordinator"服務在Server和本地都是運行狀態。(如失敗能夠 輸入:msdtc -resetlog (注意運行此命令時,不要執行掛起的事務)
    2. 在Server上打開 Component Services。 Control Panel –> System and Security –> Administrative Tools –> Component Services.
    3. 展開至 Component Services –> Computers –> My Computer –> Distributed Transaction Coordinator –> Local DTC, 右鍵,選擇Properties。在彈出的Dialog中選擇Tab 「Security」, 勾選Network DTC Access 等選項,具體設置以下圖。
    4. 以上的截圖是在win8上的,若是你的系統是xp或是2003則有些變化.展開至 Component Services –> Computers –> My Computer 右鍵,選擇Properties。在彈出的Dialog中選擇Tab 「MSDTC」–>Security Configuration, 勾選"Network DTC Access", "Allow Remote Client",
      "Allow Inbound/Outbound", "Enable TIP" (Some option may not benecessary, have a try to get your configuration) 等選項,具體設置以下圖。
    5. 確認後會要求從新啓動Service。注:若是在後面的步驟作完後,仍是沒法解決問題,可能須要重啓電腦。
    6. 確認DTC不會被你的防火牆阻止。

 請注意,若是你們的環境和我同樣不在域裏面,請選中不要求進行驗證。否者在運行分佈式事務時遠程計算機會提示「此事務已明地或暗地被確認或終止 」。(計算機名稱必定要能ping通,不然回報相同的錯誤), 注意xp系統下通常是ping不通的數據庫

是由於防火牆禁止了icmp數據包.
具體查看:
開始-控制面板-防火牆-高級-ICMP-設置.容許了就能夠ping通了
服務器

ps:分佈式

1.還發現一個問題,數據庫也須要開啓分佈式事務的支持:右鍵「服務器鏈接」的屬性,在打開的屬性窗口選擇「鏈接」,在窗口右側,勾選「須要將分佈式事務用於服務器到服務器的通訊」,肯定便可。this

2.須要打開分佈式的端口,端口號是135,或者添加System32下msdtc.exe的例外(netsh firewall set allowedprogram %windir%/system32/msdtc.exe MSDTC enable )。spa

以上是在xp中,如下是win8中防火牆設置(入站規則和出站規則都須要設置)rest

若是此事務已明地或暗地被確認或終止 問題尚未解決能夠參考如下設置:htm

To get rid of this error just follow these steps to configure the registry key and REBOOT the machine.blog

1. Click Start, click Run, type Regedit, and then click OK.
2. Locate and then click the following registry key:
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT
3. On the Edit menu, point to New, and then click Key.
Note If the RPC registry key already exists, go to step 5.
4. Type RPC, and then press ENTER.
5. Click RPC.
6. On the Edit menu, point to New, and then click DWORD Value.
7. Type RestrictRemoteClients, and then press ENTER.
8. Click RestrictRemoteClients.
9. On the Edit menu, click Modify.
10. In the Value data box, type 0, and then click OK.
Note To enable the RestrictRemoteClients setting, type1.
11. Close Registry Editor and restart the computer.

RESTRICTING THE DCOM PORT RANGE

1. Go to Start -> Run. Type in DCOMCNFG.
2. Go to the properties of the My Computer node under the Computers folder underneath Component Services.
3. Under the My Computer Properties look under the Default Protocols tab.
4. Over there make sure that Connection-oriented TCP/IP is selected and then click on Properties.
5. You will see a window like this
                        EmptyPortRange

If you don’t see a range above and the window looks exactly like the one above, that would mean that the DCOM port range is not configured on the machine.
You can click Add in the above window and type the range (let's say as 5000-5100) and say Ok. Make sure it looks like this. (Both the radio buttons should be selected for Internet Range)

                       PortRange5000

參考地址http://www.cnblogs.com/nzperfect/archive/2011/11/03/2234595.html

3.在事務中,即便存在嵌套的狀況,同一個事務內的全部數據庫鏈接對數據都是可訪問的。

相關文章
相關標籤/搜索