Using MSDTC in SQL Server 2008 I used Hyper-v to install one windows 2008 server machine, and copy the image to create another one and change the computer name, both of them are in the same domain, and I use a domain user as administrator to configure them.

After installing SQL server 2008, I tried T-SQL below:

SET XACT_ABORT ON
GO

BEGIN DISTRIBUTED TRANSACTION
EXEC CatalogSQLServer.Catalog.dbo.Hello
ROLLBACK


The first time I tried，I got the error information like:


  OLE DB provider 'SQLNCLI' for linked server '' returned message 'No transaction is active


I am 100% sure that I have configure DTC,Linked server and allow all inbound and outbound rule of firewall.  I configured MSDTC based on these instructions.

after that, I tried use command: 

msdtc -uninstall 
msdtc -install 


...and then restart dtc to re-install msdtc on CatalogSQLServer.  But this time, when I execute the test script, SSMS will keep executing for a very long time but didn't get any result.  Does anybody know how to fix this issue?
First check that your computer name is not more than 15 characters as MSDTC relies on NetBIOS , if it is less than that follow the instructions from Microsoft on How to troubleshoot connectivity issues in MS DTC by using the DTCPing tool.