Is MSDTC required to be installed in this scenario?

B

Ben

Hi,

If a C# app. uses System.Transactions to store data in sqlserver and msmq,
and it is deployed to machine A; sqlserver is in machine B; msmq is in
machine C. is msdtc required to be installed in machine A, B, and C ?

If msdtc is required in boxes other than the sqlserver box, is there a
spearate download to install the msdtc? As my understanding is that msdtc
comes with full sql server installation, it is not a feature of Windows.

Thanks,
Ben
 
M

Mr. Arnold

Ben said:
Hi,

If a C# app. uses System.Transactions to store data in sqlserver and msmq,
and it is deployed to machine A; sqlserver is in machine B; msmq is in
machine C. is msdtc required to be installed in machine A, B, and C ?

If msdtc is required in boxes other than the sqlserver box, is there a
spearate download to install the msdtc? As my understanding is that msdtc
comes with full sql server installation, it is not a feature of Windows.

Thanks,
Ben

The Distributed Transaction Coordinator is a service on the Windows NT
based O/S(s) that must be activated for distributive transactions over a
network between machines.

On server and workstation business class versions of the Windows NT
based O/S(s), such as Win XP, 2k3, Vista, 2k8, etc the service is
present. In order for an application running on one machine to use
distributed transactions over the network with another machine, the
client and the server machines must both be using DTC with the proper
authentication credentials used between the two machines.

In other words and for sure, if there is a Web server farm as an example
the has ASP.NET Web applications running on them that need transactions
with a SQL server machine on the network, the all machines involved must
have the DTC service enabled.

I don't know about MSMQ, but I suspect DTC needs to activated too on the
machines if the application using MSMQ can go ito some kind of queue
transaction state between client and server machines.
 
A

Arne Vajhøj

I don't know about MSMQ, but I suspect DTC needs to activated too on the
machines if the application using MSMQ can go ito some kind of queue
transaction state between client and server machines.

I don't know about MSDTC and MSMQ, but in general it is a very
common sequence of operation to do:

begin
read from MQ
write to DB
commit or rollback

because then the data will be read from the MQ again
if the write to the DB fails for whatever reason.

Arne
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top