1

我正在寻找有关如何实现双向复制的建议,该复制仅复制 SQL Server 2008 中的特定行。

例如,我想在两个数据库(欧洲和亚洲)之间复制表 A。我希望该表同时包含本地数据和共享数据。这将使用字段“区域”来表示,其值为

  1. 全球的
  2. 欧洲
  3. 亚洲

我已经建立了一个合并复制,其中欧洲是发布者,亚洲是订阅者和过滤器

WHERE region = 1

试图只复制 region = 1 的行

全局行添加到欧洲或亚洲数据库非常适合出现在对面表中的行。

通过不复制到亚洲数据库(根据需要),将欧洲行添加到欧洲数据库效果很好

但是,将亚洲行添加到亚洲数据库并不能满足我的要求,因为该行被复制到欧洲数据库并从亚洲数据库中删除。

我理解为什么发布者/订阅者关系会出现这种情况,但这令人沮丧。

然后我认为点对点可能是解决方案,但我无法过滤点对点。

有没有办法实现我正在寻找的东西?

感谢大家

4

2 回答 2

1

处理此问题的更好方法是使用第三个实例发布包含全球、欧洲和亚洲数据的数据。使用基于 HOST_NAME 和区域 1 过滤的参数化行过滤器的合并发布。设置覆盖每个 HOST_NAME() 值的欧洲和亚洲订阅。

这样,欧洲和亚洲订阅仅接收全球和地区特定数据。

于 2012-03-12T18:15:07.187 回答
1

我认为您必须使用动态过滤器。创建过滤器时,您可以在 WHERE 子句之后键入更复杂的查询。您可以看到本教程,它是西班牙语,但您可以看到查询。http://www.monografias.com/trabajos97/guia-crear-replica-mezcla-filtros-dinamicos-parametrizados-sql-server/guia-crear-replica-mezcla-filtros-dinamicos-parametrizados-sql-server.shtml

于 2013-08-29T14:20:52.983 回答