该操作未能执行,因为 OLE DB 提供程序 'SQLOLEDB' 无法启动分布式事务。[OLE/DB provider returned message: 新事务不能登记到指定的事务处理器中。 ]
我启动了SQLServerAgent服务但是还是这个错误
...全文
88314打赏收藏
该操作未能执行,因为 OLE DB 提供程序SQLOLEDB无法启动分布式事务。
存储过程会先在本地表上添加一行数据,然后到远程数据库表上添加一行,但是执行时出项如下错误,如果去掉事务处理在执行就没有问题,错误内容如下 该操作未能执行,因为 OLE DB 提供程序 'SQLOLEDB' 无法启动分布式事务。[OLE/DB provider returned message: 新事务不能登记到指定的事务处理器中。 ] 我启动了SQLServerAgent服务但是还是这个错误
四.
MSDTC依赖于RPC,RPC使用的端口是135,测试135端口是否打开.是否有防火墙?如果有先关了防火墙.
telnet IP 135
如果是关闭的打开它.
五.
有的机由于各种原因),SQLOLEDB不能使用分布式事务,更改为"MSDASQL" 的ODBC方式联接.
使用RRAS而不是RAS.(控制面版--管理工具--远程服务管理器)
Check whether you are using Remote Access Server (RAS) to access remote servers. If so, make sure that you have implemented Routing RAS (RRAS). Linked server does not work on RAS because RAS allows only one way communication.