A: 

If you are using SQL Server 2000, System.Transactions.TransactionScope will cause all transactions to be promoted to Distributed Transactions, requiring MS Distributed Transaction Coordinator to be running.

You can fix this by starting the MSDTC service, upgrading to SQL Server 2005, or implement something like my codeproject solution: http://www.codeproject.com/KB/database/typed_dataset_transaction.aspx

I've never needed to do it, but you should also check Ocdecio's answer for configuring the network security settings for DTC, too.

Neil Barnwell
Added a note above, I am using Sql Server 2005
NotDan
+1  A: 

Control Panel - Administrative Tools - Component Services - My Computer properties - MSDTC tab - Security Configuration tab - Network DTC Access (checked) / Allow Remote Clients (checked) / Allow Inbound (checked) / Allow Outbound (checked) / Enable TIP Transactions (checked)

Reboot computer.

Otávio Décio
+2  A: 

Depending on the backend you are using, TransactionScope often requires the Distributed Transaction Manager to be enabled. Some details are on this MSDN blog.

Also, if you use multiple resources, DTC may be required. Enabling DTC may be required in your situation, or making sure you're using SQL Server 2005 and sticking to what would be doable in lightweight transactions.

Reed Copsey
+1  A: 

You need to enable DTC for network access in the security configuration for MSDTC using the Component Services Administrative tool.

Banang
+8  A: 
ahsteele
Do I do this on the client or the database server?
NotDan
Updated answer to reflect question.
ahsteele
I realize from your screenshot you are not using XP, but I thought the XP SP2 article might apply.
ahsteele
I think this fixed the initial issue I was getting. The 2nd error seems to be specific to entity framework. I'll post another question for it.
NotDan
I finally fixed this. Windows Firewall was blocking the connections to MS-DTC.
NotDan
A: 

You need to enable network DTC access for both the database server and the server where the application runs on.

You will also need to verify that connections will not be blocked by a firewall. Since a connection will be initiated from the database server to the application machine, it is equally important to add MSDTC to the list of firewall exceptions on the application machine.

Dries Van Hansewijck
A: 

I had the same problem running integration tests.

I posted a question about this here

but eventually I found a way around it. Although, I wouldn't recommend doing that for production code. I was doing it within the context of testing.

Joseph