问题描述:
需要将 A库的A表 的数据定时传输到B库的B表中
现在:我在B库的所在的SQL实例中,建立 联接服务器 A指向A库的所在SQL实例
然后在B库建立个接口表AA
建立存储过程定时导数据
过程大概是如此:
insert into aa select * from a.a.a --(A联接服务器的A库的A表)
begin tran

insert into b select * from aa
commit tran

其中,时间戳的运用等就省略了,这只是个大概的流程,但执行后报如下的错

服务器: 消息 7391,级别 16,状态 1,过程 UP_transPROC,行 24
该操作未能执行,因为 OLE DB 提供程序 'SQLOLEDB' 无法启动分布式事务。
[OLE/DB provider returned message: 新事务不能登记到指定的事务处理器中。 ]

查看B库的接口表AA已经将数据导入,我想问的是,在我的事物中都是本地的表了,并没有涉及联接服务器的表,为什么会报这个错,该怎么解决,谢谢了

PS:
----------------------------
联结服务器的建立方式:
EXEC sp_addlinkedserver @server='LJ_INSTANCE', @srvproduct='',
@provider='SQLOLEDB', @datasrc='10.100.105.177'


EXEC sp_addlinkedsrvlogin 'LJ_instance', 'false', NULL, 'SA', ''

但,在我的事物中都是本地的表了,并没有涉及联接服务器的表,为什么报这个错,不懂

答:
SQL Server 2005和SQL Server 2000 sp3及以上均无此问题..