I have a job scheduled on an MSDE/W2000SP3 server that executes a stored procedure which involves distributed transactions with SQL2000/W2000SP3 server through a linked server. This job is sometimes successful but fails equally often. In all the situations MSSQLServer, SQL Server Agent, MSDTC, RPC services are all running on both the servers. XACT_ABORT is set to ON in the stored procedure.

The error message generated when the step fails is

The operation could not be performed because the OLE DB provider 'SQLOLEDB' does not support distributed transactions. [SQLSTATE 42000] (Error 7391) [SQLSTATE 01000] (Error 7312). The step failed.

Can anyone help?