MSDTC Error - Distributed Transaction Error RRS feed

  • Question

  • LightSwitch is using RIA Services to connect to a remote SQL Server. However I keep getting the following error:

    "The partner transaction manager has disabled its support for remote/network transactions"

    Event Viewer gives the following:

    "A caller has attempted to propagate a transaction to a remote system, but MSDTC network DTC access is currently disabled on machine 'Some Remote SQL Server'. Please review the MS DTC configuration settings."

    If I have no control over the remote SQL Server - and can't enable MSDTC - what am I to do? Is there any way to control the transaction scope within LightSwitch?




    Friday, October 8, 2010 8:50 PM


All replies

  • This is addressed briefly in this blog post: http://blogs.msdn.com/b/lightswitch/archive/2010/08/26/the-anatomy-of-a-lightswitch-application-part-3-the-logic-tier.aspx. Search for Transaction Management, which notes that the LightSwitch update pipeline respects a transaction scope established with System.Transactions, as described here http://msdn.microsoft.com/en-us/library/system.transactions.transactionscope.aspx and here http://msdn.microsoft.com/en-us/library/ms172152.aspx, among other places.

    I'm unclear what is happening your case though, because LightSwitch does not use DTC or push a transaction scope by default precisely to avoid this sort of problem (while also providing a means for those who understand the concepts to use tx scopes, etc, as described in the blog post). Of course there is always the possibility we have a bug.

    So the question is, what is causing the DTC tx to be created? (Note that as an optimization, System.Transactions normally won't create a DTC tx if just one SQL Server is involved.)

    That's the most I can say without knowing more details about your scenario. How many data sources are you using? Just the one remote SQL Database plus the intrinsic LS database?


    Saturday, October 9, 2010 6:15 AM
  • I have the same problem while creating the Administrator account (when deploying to a cluster). If I don't create an Administrator account, it works. Please, remove this constraint from the release version, changing server properties for something so simple shouldn't be required.

    EDIT: I verified that the problem exists whenever the application needs to create a user. In our case it's probably due to the fact that the application is on a different cluster node than the distributed transaction management, and there are probably some closed ports between the two nodes!

    Monday, July 4, 2011 5:16 PM