I am attempting to run a transaction via linked server from a 2000 instance to 2005 and receiving the error:
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].
When I run the same query over a linked server from a 2005 instance to the same 2005 instance mentioned above, it works fine.
Now, what's even more odd is that from the same 2000 instance mentioned above, I can hit other 2005 instances without error. This leads me to believe I have a network issues of sorts.
- 2000 to 2005 transactions do not work to this specific 2005 instance
- 2000 to 2000 and all other 2005's work fine
- 2005 to 2005 transaction works fine
- Network DTC is enabled on both sides (inbound and outbound) with no authentication required
This specific 2005 instance is in it's own subnet meaning that there are of course some network limitations. I recently had port 1433 (SQL) opened in attempts to resolve this, but that has not helped. What other ports if any would be involved for DTC? I've heard 3372 and 135 (RPC).
Also, I have another server in that subnet that I just attempted the same thing on and I had the same results. I can hit the box fine from 2005 but not from 2000.
The fact that I can hit all other 2005 instances from 2000 without error and that I can hit this 2005 instance from 2005 and not 2000 has me baffled. Network? DTC? SQL2000 configuration?
Any help is greatly appreciated.