注释
此功能将在Microsoft SQL Server 的未来版本中删除。 避免在新开发工作中使用此功能,并计划修改当前使用此功能的应用程序。
使用合并复制,可以指定某些文章的删除操作不应被复制触发器和系统表跟踪。 如果为项目指定此选项,则不会从发布服务器或任何订阅服务器跟踪或复制删除。 此选项可用于支持多种应用程序方案,并为不需要或需要复制删除的情况提供性能优化。 性能通过三种方式得到增强:不存储删除操作的元数据;同步期间不枚举删除操作;删除操作不会被复制和应用到订阅服务器上。
注释
若要使用下载专用文章,发布的兼容级别必须至少为 90RTM。
可以在创建发布时指定该选项,或者如果应用程序要求复制某些删除,而其他删除则不复制,例如批处理删除,则可以将其打开和关闭。 以下示例演示了在应用程序中可以使用此选项的方法:
移动销售人员的应用程序通常具有 SalesOrderHeader、 SalesOrderDetail 和 Product 等表。 订单在订阅服务器上输入,然后复制到发布服务器,后者通常向订单履行系统提供数据。 许多移动工作者使用具有有限存储的手持设备:在发布服务器上收到订单后,可以在订阅服务器上将其删除。 删除不会传播到发布服务器,因为订单仍在系统中处于活动状态。
在此方案中,不会跟踪 SalesOrderHeader 和 SalesOrderDetail 表的删除。 将跟踪 “产品 ”表的删除,因为如果在发布服务器上删除某个产品,则应将删除发送到订阅服务器,以使产品列表保持最新状态。
应用程序可以将历史数据存储在 TransactionHistory 等表中,该表会定期清除超过一年的记录。 可以筛选表格,使订阅者仅接收当前月份内交易的数据。 发布者处每月批量删除以清除旧数据与订阅方无关,但默认情况下它们仍会被跟踪和枚举。
在此方案中,在批处理发生之前,系统可能会停止活动,并且应用程序可以禁用删除跟踪。 处理完成后,可以再次启用跟踪。
重要
如果在发布服务器上继续执行其他活动,必须确保在禁用删除跟踪时不会发生应传播到订阅服务器的删除。
指定删除不应被跟踪
- 复制 Transact-SQL 编程: 指定不应跟踪合并项目删除(复制 Transact-SQL 编程)