--注册远程服务器 exec sp_addlinkedserver '别名','','SQLOLEDB','服务器名或者IP' exec sp_addlinkedsrvlogin '别名','false',null,'sa','sa'
--示例
exec sp_addlinkedserver 'WWW-07D4401AC5D','WWW-07D4401AC5D' exec sp_addlinkedsrvlogin 'WWW-07D4401AC5D','sa' select * from [WWW-07D4401AC5D].su.dbo.su alter trigger tr_insert_author on su for insert as set xact_abort on --启动远程服务器的MSDTC服务 exec master..xp_cmdshell 'isql /S"WWW-07D4401AC5D" /U"sa" /P"sa" /q"exec master..xp_cmdshell ''net start msdtc'',no_output"',no_output --启动本机的MSDTC服务 exec master..xp_cmdshell 'net start msdtc',no_output insert [WWW-07D4401AC5D].su.dbo.su(name,age) values ('tony',20)
-------------------触发器------------
use[MKT5] go create trigger tr_insert_active_info on active_info INSTEAD OF insert as set xact_abort on insert wff.MKT5.dbo.active_info select * from inserted
go
--修改同步 create trigger tr_update_active_info on active_info INSTEAD OF update as set xact_abort on
declare @PK varchar(50),@table_name varchar(50),@sql varchar(5000) set @table_name = 'active_info' exec GetPK @table_name,@PK output
select @sql = ( N'delete b from active_info b,deleted d where b.'+@PK +'=d.'+@PK)
exec @sql
insert wff.MKT5.dbo.active_info select * from inserted go
--删除同步 create trigger tr_delete_active_info on active_info INSTEAD OF delete as set xact_abort on
declare @PK varchar(50),deleted d where b.'+@PK +'=d.'+@PK)
exec @sql go
PS:远程数据同步,必须打开MSDTC,必须打开135端口
启用网络 DTC 访问的步骤
启用网络DTC是分布式数据库事物控制的必要条件。设置过程应依下面步骤进行。
1) 单击“开始”,指向“控制面板”,然后单击“添加或删除程序”;
2) 单击“添加/删除 Windows 组件”;
3) 选择“应用程序服务器”,然后单击“详细信息”;
4) 选择“启用网络 DTC 访问”, 网络管理 、网络事务、XA 事务。另外,DTC 登录帐户一定要设置为“NT Authority"NetworkService”,并且事务管理器通讯不要求进行验证。然后单击“确定”;
5) 单击“下一步”;
6) 单击“完成”;
7) 停止分布式事务处理协调器服务,然后重新予以启动;
8) 停止 Microsoft SQL Server 和其他参与分布式事务处理的资源管理器服务(如 Microsoft 消息队列),然后将其重新启动。
二、Windows xp配置MSDTC的方法
控制面板-----〉管理工具-----〉组件服务

选择组件服务-----〉计算机--------〉我的电脑,再点击鼠标右键。


“点击安全性配置(I)….”按钮,选择项如下:

(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|