首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

求大神指导下外地数据同步通过触发器能不能实现

2013-04-02 
求大神指导下异地数据同步通过触发器能不能实现?本地表AIDnamepassword1张三12342李四5678远程表AIDnamepa

求大神指导下异地数据同步通过触发器能不能实现?
本地表A
ID   name   password
1    张三   1234
2    李四   5678

远程表A
ID   name   password
1    张三   1234
2    李四   5678

如果本地的张三的密码变了,那么远程表A里的张三的密码也跟着本地的改变,这个触发器怎么弄?
主要是异地数据同步这块不会。。。
[解决办法]
触发器做不到的,考虑一个同步程序实现
[解决办法]
首先要创建远程服务器的链接

--删除链接器
--sp_linkedservers
if EXISTS(Select name from sys.servers 
where name = 'toServer1' AND  is_data_access_enabled = '1')
Exec sp_dropserver 'toServer1','droplogins'
GO

--添加链接器
EXEC sp_addlinkedserver   
   @server='toServer1', 
   @srvproduct='',
   @provider='SQLNCLI', 
   @datasrc='远程IP地址'

--添加登陆
Exec sp_addlinkedsrvlogin 'toServer1','false','sa','sa','123'
GO
--执行
Update toServer1.数据库.dbo.表1 set 密码=新密码 Where 用户id=修改的用户ID
--删除链接
exec sp_droplinkedsrvlogin 'toServer1','sa'
[解决办法]
当表很多的时候,用复制技术会比触发器快且对服务器的影响小
[解决办法]
不建议用TRIGGER这样远程同步,如果因网络问题,你这台机子都不能操作
建议定时同步,至少不会因为网络或副机而影响主机

热点排行