当前位置:  开发笔记 > 数据库 > 正文

触发更新另一个sql server上的数据

如何解决《触发更新另一个sqlserver上的数据》经验,为你挑选了1个好方法。

我使用两个SQL Server,一个是SQL Server 2000,另一个是SQL Server 2005.

当SQL Server 2000中的table1被更新/插入/删除时,我必须更新SQL Server 2005中的另一个表.是否有可能在触发器中实现它?如果没有,那么可能的选择是什么?

感谢您有一个愉快的一天!



1> Rory..:

如果您想要复制数据,而不仅仅是设置不同的东西,那么您应该查看SQL Replication,因为它可以更好地管理事物.例如,它将异步进行更新.

如果您必须同步执行它们,或者您只是认为它更简单,或者您需要将整个操作包装为单个事务,我会将逻辑放在清洁程序中.您可以创建从2000到2005的链接服务器,并从那里引用表作为SERVER.DATABASE.SCHEMA.TABLE.或者,您可以在远程服务器上执行存储过程以执行插入/更新/删除.

如果您不想进行SQL复制,则可以考虑通过触发器将2000中的insert/update/deletes写入同一数据库中的单独表中.然后有一个单独的作业将这些更改写入2005,然后将其从表中删除.这意味着您可以批量更改,意味着更快地完成对原始表的更新,更好地处理两台服务器之间丢失的连接.但是,您不太可能保证更新实际应用于2005服务器,并且您必须运行更复杂的sql作业.所以这是一个权衡.一旦你开始编写和维护这种逻辑,你就会意识到这就是MS编写复制内容的原因,所以你不必这么做.

推荐阅读
TXCWB_523
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有