目录

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

目录

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

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访问。

双方启动MSDTC服务

(1)在windows控制面版–>管理工具–>服务–>Distributed Transaction Coordinator–>属性–>启动

(2)在CMD下运行"net start msdtc"开启服务后正常

管理工具-组件服务,全部勾选。

//img.blog.itpub.net/blog/attachment/201712/29/22996654_1514537688O0O3.png?x-oss-process=style/bb

执行成功。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/22996654/viewspace-2149513/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/22996654/viewspace-2149513/