与SQL Server补丁相关的问题

本文描述了在SQL Server环境中,从A库的A表定时同步数据到B库的B表过程中遇到的问题及解决方案。主要探讨了使用联接服务器进行数据同步时出现的错误,并提供了可能的原因和解决思路。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题描述:

需要将 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 2005SQL Server 2000 sp3及以上均无此问题..
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值