假设有一些数据库:P、S1、S2、S3 等。
P(发布者)有一些表需要在S1、S2 和 S3(订阅者)上复制(克隆和同步)。这些表的副本将是只读的。此外,副本将被 S1、S2、S3 等中的一些其他表引用(通过外键)。
例如,
- P 有表P.O1和P.O2。S1 将具有S1.O1_copy、S1.O2_copy和S1.OTHER,其中 S1.OTHER 引用 S1.O1_copy。
根据您的经验,可以在这种情况下使用SQL Server 事务复制(据我所知,这是基于日志的复制)吗?还是我应该更好地使用基于触发器的复制?不过,我认为每次添加新订阅者(数据库)时都可能需要更新触发器。
P 中需要复制的表很少更新,但更新操作需要是事务性的,以确保数据一致性(从副本中读取的任何内容都应返回所请求数据的最新快照)。
谢谢 :)