David d48701

I'm using a TransactionScope Activity that required me to add a Persistence Service to the runtime ( I understand this)

However, when I add the SqlPersistence Service to my runtime, I started getting DTC errors.

I'm running a WCF Service hitting the SqlPersistence DB on my local machine accessing data on a separate SQL Server box.

Is it a requirement to have DTC enabled on my local machine and the SQL server
Is this strictly because I don't have the my local SQL server and the network SQL Server linked

Any help would be appreciated.

Thanks!



Re: Windows Workflow Foundation Persistence Services and DTC

Maurice de Beijer

Hi,

Both the persistence and whatever is done in the TransactionScopeActivity are done in the same transaction. Because they go to separate databases, even servers in this case, the transaction is promoted. This required the DTC to be running.

So you didn't mention the errors you received so I cannot know for certain what is causing your problems but that is a requirement.

Maurice




Re: Windows Workflow Foundation Persistence Services and DTC

Lakshmi Murthy

David,

Yes, it is a requirement to enable DTC on both the SQL Server box as well as yours.

The workflow runtime handles transactions internally through the .NET System.Transactions infrastructure and therefore transparently escalates local transactions to distributed transactions (MSDTC).

If your network SQL Server box is not running DTC then, these distributed transactions are not handled in that box and it throws an error.

HTH






Re: Windows Workflow Foundation Persistence Services and DTC

David d

If the persistence DB and my user database I'm using in the workflow are on the same box, DTC will not be required right





Re: Windows Workflow Foundation Persistence Services and DTC

Maurice de Beijer

Hi David,

As long as the connections string is different, and it will be because use are using different databases, it will be promoted to a distributed transaction.

Maurice





Re: Windows Workflow Foundation Persistence Services and DTC

David d

The error I'm getting is
 The partner transaction manager has disabled its support for remote/network transactions. (Exception from HRESULT: 0x8004D025)

So my question, just to clarify, for my production environment later on....

MSDTC will need to be enabled on what
1) The SQL Server that the persistence DB is on
2) The SQL Server the my user DB I'm accessing with my Sequential Workflow is on
3) The machine that the WF is running on Or Not




Re: Windows Workflow Foundation Persistence Services and DTC

David d

So from what you're saying, if the persistence Tables and sp's were in the same DB as my data, this would not be an issue

OR

Would I still need to enable it on the workstation/server that's running the WF hitting the DB





Re: Windows Workflow Foundation Persistence Services and DTC

Maurice de Beijer

Yes, that is correct.

Maurice





Re: Windows Workflow Foundation Persistence Services and DTC

Marcelo Ferrer

I have the persistance table and the data on the same table on a server, when I whant to execute the Unload() I have and error than Says that the transaccion administrator has desabled my soport for remote transaccions. Any idea

PD: Sory about the gramatical but im not an english native