L’erreur “OLE DB ‘SQLOLEDB’ n’a pas réussi à démarrer de transaction distribuée” ([OLE/DB Provider ‘SQLOLEDB’ ITransactionJoin::JoinTransaction returned 0×8004d00a]) retournée par un Openquery peut être résolue simplement.

Il suffit d’ajouter SET IMPLICIT_TRANSACTIONS OFF; avant l’exécution d’une requête ou d’une procédure stockée.
Avant (erreur):
select * from OPENQUERY(LOCALHOST, ‘exec mySP @Param = 123′)
Après (corrigé):
select * from OPENQUERY(LOCALHOST, ‘SET IMPLICIT_TRANSACTIONS OFF; exec mySP @Param = 123′)