logo

Thông báo

Icon
Error

Chia sẻ
Tùy chọn
Xem
Xem bài viết cuối
Offline admin  
#1 Đã gửi : 17/06/2017 lúc 05:44:21(UTC)
admin

Danh hiệu: Administration

Chức danh:

Nhóm: Administrators
Gia nhập: 23-07-2013(UTC)
Bài viết: 5,951
Man
Viet Nam
Đến từ: Vietnam

Cảm ơn: 9 lần
Được cảm ơn: 2 lần trong 2 bài viết

The MSDTC transaction manager was unable to pull the transaction from the source transaction manager due to communication problems

We had the exact same situation, and more than once. Each time, it was one of the following:

  1. The IP address in the DNS for the server is outdated (as said in error message: "two machines cannot find each other by their NetBIOS names"). You can check if this is the case by trying ping servername from one server to another in the command prompt. If the ping by name fails and ping by IP succeeds (or ping by name returns the wrong IP), than you should talk to the System Admins to take a look at DNS/DHCP.

  2. The servers are created as an image of preconfigured server (for example, if you are working with virtual machines, and instead of doing a

    fresh install for each of the servers, you simply clone the image). This is a problem because DTC has an internal "Identifier" - and in case of image cloning both your installations now have same DTC ID, and won't be able to communicate with each other. The solution is to simply uninstall and install the DTC again.

To reset the CIDs on a Windows 2012 Server use the following Powershell script:

Mã:
#View: CIDs (These must be different on all systems)
ls Microsoft.PowerShell.Core\Registry::HKEY_CLASSES_ROOT\CID | select Name

#reinstall MSDTC to regenerate CIDs.  msdtc -uninstall sleep 5 msdtc -install sleep 5 Set-Service msdtc -startuptype "auto" #then reboot for changes to take effect

Distributed Transaction Coordinator

Start -> Admin Tools -> Component Services

Expand Component Services -> Computers -> My Computer -> Distributed Transaction Coordinator and right-click Local DTC. Go to Security tab and check over the settings there.

Network DTC Access                         : Enabled

  • Allow Remote Clients                         : Enabled

  • Allow Remote Admininistration       : Disabled

  • No Authentication Required              : Enabled

  • Enable XA Transactions                     : Enabled

     

How to acces MSDTC - (DTC - Distributed Transaction)

4. Finally, you can add the DTC Service (MSDTC.EXE) to your firewall.

The default firewall settings for the "Distributed Transaction Coordinator" was using "%SystemRoot%\system32\svchost.exe".

Adding a new rule with MSDTC.EXE fixed the issues.

In order to solve quickly, you can retart MSDTC or recycle the application pool of the given MVC web application.

This error occurs when the “Distributed Transaction Coordinator” service is not running. To start a distributed transactions with TransactionScope object, the windows service “Distributed Transaction Coordinator” should be running.

To fix the problem just start the service “Distributed Transaction Coordinator” using Windows Service manager.

Here are the detailed steps for starting the service

  1. Click on Start–>Control Panel->Administrative Tools->Services (or simply type services.msc in the run command box and hit enter); display “Services” manager
  2. Scroll through the list and identify the service “Distributed Transaction Coordinator”
  3. Right on the service and choose “Start”

FIX :  MSDTC on server 'servername' is unavailable

When SQL Server and the Application Server are on different boxes

The above said solution work well when SQL Server and the Application are on the same box. If they are deployed on different boxes then additionally you should follow these steps to correct the problem

Repeat these steps on Application Server and Database server

  1. Click Start–>Control Panel –> Adminstrative Tools –> Component Services –> Computers
  2. Right click on My Computer and choose  Properties option
  3. Switch to MS DTC tab and check allow remote access

After :

- stopping DTC service;

- msdtc -uninstall

- msdtc -install

- restarting DTC service;

- enabling DTC network access under "Local DTC properties" (and enabling anything there)

If there is still errors, just restarting the sql service fixed the problem...

            Ai đang xem chủ đề này?
            OceanSpiders 2.0
            Di chuyển  
            Bạn không thể tạo chủ đề mới trong diễn đàn này.
            Bạn không thể trả lời chủ đề trong diễn đàn này.
            Bạn không thể xóa bài của bạn trong diễn đàn này.
            Bạn không thể sửa bài của bạn trong diễn đàn này.
            Bạn không thể tạo bình chọn trong diễn đàn này.
            Bạn không thể bỏ phiếu bình chọn trong diễn đàn này.

            | Powered by YAF.NET 2.2.4.14 | YAF.NET © 2003-2019, Yet Another Forum.NET
            Thời gian xử lý trang này hết 0.244 giây.