I assume that your environment is in Windows Azure virtual machine with SQL Server. Please correct me if my understanding is incorrect.
I was able to confirm the DTC Transaction works fine. The steps I followed are as follows.
- Installed a DC on Virtual machine
- Installed two Member Server with SQL Server namely balaksSQL01 and balaksSQL02
- Configured the MSDTC Setting as follows on both the Servers. Referhttp://support.microsoft.com/kb/250367
- Opened the Component Service
- Port Range Setting
i. Right Click on the My Computer
ii. Choose the Default Protocol Tab
iii. Click Connection-oriented TCP/IP and properties
iv. Added a Ranged i.e. 50000-50200
- Access Setting
i. Checked Network DTC Access
ii. Checked Allow Inbound and Allow outbound
iii. Choose No Authentication Required
- Created the below listed Firewall Rule
- For Port 135
- DTC Program
- Created a Linked Server Object on balaksSQL01 to balaksSQL02 and vice versa
- Created a database disttrantest with emp table
- Opened a Query window on balakssql01 and executed the below query which returned data without error
begin distributed tran
select * from balakssql02.disttrantest.dbo.emp
commit
Please let me know if you need any clarification.