1、建立两个数据库服务器的连接;
exec sp_addlinkedserver 'CQFIRST','','SQLOLEDB','192.168.10.77'
exec sp_addlinkedsrvlogin 'CQFIRST','false',null,'PHSMSG','PHSMSG'
2、建立触发器
--新增同步
create trigger tr_insert_PHSMSG on sendmsg
for insert
as
set xact_abort on
insert CQFIRST.PHSMSG.dbo.sendmsg select * from inserted
go
3、
在两台电脑中,启动 msdtc(分布式事务处理服务),并且设置为自动启动
我的电脑--控制面板--管理工具--服务--右键 Distributed Transaction Coordinator--属性--启动--并将启动类型设置为自动启动
---------------------------------------
---------------------------------------
我在数据库sndmsg表中插入数据后,企业管理器报错:
新事务不能登记到指定的事物处理器
该操作位能执行,OLE DB 提供的程序‘SQLOLEDB’无法启动分布式服务。
---------------------------------------
请教高手我在什么地方处理错误!

解决方案 »

  1.   

    这样试试:2.触发器
    create trigger tr_insert_PHSMSG on sendmsg
    for insert
    as
    set xact_abort on
    BEGIN DISTRIBUTED TRANSACTION    /*启用分布式事务*/
    insert CQFIRST.PHSMSG.dbo.sendmsg select * from inserted
    COMMIT
    go
    3.两台电脑
    我的电脑--控制面板--管理工具--服务--右键 Distributed Transaction Coordinator--启动
      

  2.   

    谢谢,不过我看网上说要去掉BEGIN DISTRIBUTED TRANSACTION    我自己解决了!http://www.cnblogs.com/chnking/archive/2007/04/04/699891.html 高手写的!
      

  3.   

    To hellowork(一两清风)我怎么结贴? 怎么把分给你?