【发布时间】:2015-01-15 22:32:14
【问题描述】:
首先感谢您的阅读。
我需要复制基于连接过滤器的数据子集;基于与另一个表的连接进行过滤(Microsoft:“使用连接过滤器,您可以将行过滤器从一个已发布的表扩展到另一个。”)。这是设置:
- SQL Server 2012;
- 事务复制订阅上的复制源
- 复制需要是单向同步(从发布者到订阅者);
- 只有一个订阅者/订阅者;
- 事务不多的小数据集;
- WAN 网络。
到目前为止我所建立的:
选项 1 - 创建视图并通过事务复制将其复制到表中。
优点:没有使用触发器,
缺点:不复制键、约束等对象
选项 2 - 将合并复制与加入过滤器一起使用并设置 @subscriber_upload_options = 2(仅限下载)。
优点:本机 MS 功能,复制所有对象
缺点:合并复制使用触发器,批量加载时不会触发这些触发器。
这两种方法的结果完全相同。但是技术有所不同,例如使用的不同代理。据我了解,合并复制特别适用于服务器 - 客户端架构,这不是我的情况,但..它可以工作..
因为结果是一样的,我有点怀疑我应该遵循哪种方法。我希望您能给我一些考虑或建议我应该遵循哪种方法。
【问题讨论】:
-
关于 Technet,您应该在过滤的情况下使用合并复制:'需要数据过滤,以便订阅者接收不同的数据分区。'
-
我也一直在看,但还没来得及回复。您正在复制的网络如何?局域网、广域网、VPN?
-
@BrandonWilliams 非常感谢你。网络是广域网
标签: sql-server sql-server-2012 replication merge-replication transactional-replication