通过链接服务器把一台服务器的数据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"开启服务后正常
。
管理工具-组件服务,全部勾选。
执行成功。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/22996654/viewspace-2149513/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/22996654/viewspace-2149513/