SQL 分布式交易协调器应用
1、 应用场景
为某药房连锁总部做一个财务接口,需要两台服务器数据库之间互通数据,暂
时定位为 ERP 服务器和财务服务器。其中 ERP 服务器为 win server 2008r2 操
作系统,财务服务器为 WIN7 系统。两台服务器安装的数据库都为 SQL SERVER
2008 R2 或者不同版本的 SQL。数据互通原理:通过财务服务器的存储过程往 ERP
服务器数据库中写入数据,更新到 ERP 服务器上相应的表中,出现的错误,
如下图所示:
2、 解决办法
(1)、双方服务器均要按下图所示设置
控制面板-->管理工具-->组件服务-->计算机-->
我的电脑-->Distributed Transaction Coordinator -->本地 DTC-->属性
-->安全
(2)、双方服务器均要开启如下图所示的服务
控制面板-->管理工具-->服务
(3)、如果遇到以下提示
无法启动链接服务器 "XXXXXX" 的 OLE DB 访问接口 "MSDASQL" 的
嵌套事务。由于 XACT_ABORT 选项已设置为 OFF,因此必须使用嵌套事务。
请在调用链接服务器前,把 XACT_ABORT 选项设置为 ON,调用结束后,
设置为 OFF。
set
XACT_ABORT
on
--SQL Code
set
XACT_ABORT
OFF
---------------------------------------------------------------------
---------------------------------------------------------------------
经过以上设置,就可以实现不同服务器不同数据之间的访问互通