通过链接服务器把一台服务器的数据insert到另一台服务器上

来源:这里教程网 时间:2026-03-02 11:15:16 作者:
Server A[10.0.0.1]
建立到Server B的链接服务器

Server B[10.0.0.2]
建立用户链接服务器的数据库账号

Server A:
执行脚本:
set XACT_ABORT ON
Begin Try
Begin distributed Tran
Insert Into [10.0.0.2].[B].[dbo].[tableB]
(bid,
company,
tel
)

SELECT  [bid]
      ,[company]
      ,[tel]
  FROM [A].[dbo].[tableA] t
  where t.code='11' and  t.type='ERROR'

Commit Tran
End Try

Begin Catch
Rollback Tran
End Catch

由于目标表的id为自增列,可以不insert目标表的id自增列,也可以设置目标表的id自增列可以insert。

SET IDENTITY_INSERT tableB ON

让目标表的自增列可以insert记录。

insert完毕关闭目标表的IDENTITY_INSERT

SET IDENTITY_INSERT tableB OFF


这里选择不insert目标表的id自增列,让id自增列自己增加。

报错:
该伙伴事务管理器已经禁止了它对远程/网络事务的支持

在远程主机没有开启网络DTC访问。
http://blog.csdn.net/apollokk/article/details/51543349

双方启动MSDTC服务
(1)在windows控制面版-->管理工具-->服务-->Distributed Transaction Coordinator-->属性-->启动
(2)在CMD下运行"net start msdtc"开启服务后正常
管理工具-组件服务,全部勾选。

执行成功。

相关推荐