I have two database servers and I have a stored procedure which will do a distributed transaction. The procedure runs on serverA and gets the data from serverB onto serverA. But the procedure is getting failed and I am getting the following error.

The operation could not be performed because the OLE DB provider 'SQLOLEDB' was unable to begin a distributed transaction. [SQLSTATE 42000] (Error 7391) [SQLSTATE 01000] (Error 7312) OLE DB error trace [OLE/DB Provider 'SQLOLEDB' ITransactionJoin::JoinTransaction returned 0x8004d00a]. [SQLSTATE 01000] (Error 7300). The step failed.

So when I checked the properties of my serverA on the connections tab
Enforce Distributed Transactions(MTS) is not checked.

Is this causing the above error or do I need to anything else to run my SP successfully.