I was setting up a few new database servers recently on Windows 2003. We have a few applications that access other SQL Servers as linked servers. Some of those applications started failing on database inserts with errors like this:
Server: Msg 7391, Level 16, State 1, Procedure UserExtract, Line 24
The operation could not be performed because the OLE DB provider 'SQLOLEDB' was unable to begin a distributed transaction.
[OLE/DB provider returned message: New transaction cannot enlist in the specified transaction coordinator. ]
OLE DB error trace [OLE/DB Provider 'SQLOLEDB' ITransactionJoin::JoinTransaction returned 0x8004d00a].
This was not a problem on Windows 2000 servers. So as it turns out, you have to do an extra step on Windows 2003 and enable network DTC access because it is by default disabled. The procedure is described in this KB article.