两个数据库表,使用触发启同步时出现问题?请教高手
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’无法启动分布式服务。
---------------------------------------
请教高手我在什么地方处理错误!
[解决办法]
这样试试:
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--启动