Problem
Server: Msg 7391, Level 16, State 1, Line 2 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. ]
The remote server has been added as a linked server, and the privs are set correctly.
MSDTC is started and running on the local and remote servers.
Solution
This error is most probably due to one of the following reasons
1) If firewall is present between the client and server, port 135 is not open. MSDTC
uses RPC which requires port 135 to be open.
2) Run sp_helpserver on boht of your machines and make sure that you have RPC, RPC
OUT showing up. If you added the dest server as a linked server, you should also
be seeing Data Access and other collation related information. If this is not
properly configured, errors could occur.
3) From sp_configure output, check what you have set for "Remote proc trans" option.
More information on what this option does is in SQL BOL.
4) Bad or altered MSDTC install. This is fixed by uninstalling and
reinstalling MSDTC.
Test:
5) If you run just "begin distributed tran" from Query analyzer, see if it returns
completed succesfully. Also check versions of MSDTC On the client and remote
server. Please refer the following KB's for additional reference.
0 comments:
Post a Comment