求大神指导下异地数据同步通过触发器能不能实现?
本地表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这样远程同步,如果因网络问题,你这台机子都不能操作
建议定时同步,至少不会因为网络或副机而影响主机