SQL Server:如何防止批量删除复制并允许每日删除操作?

时间:2016-02-22 09:02:50

标签: sql-server transactional-replication

我在SQL Server 2012上运行了一个事务复制。它复制了INSERT,UPDATE和DELETE。

现在我面临一个条件(对于DELETE语句)它迫使我们:

  1. 仅复制每日DELETE操作
  2. 请勿复制基于年度的DELETE操作,因为我们要修剪已创建的数据<本年度
  3. 我想我不能使用这个(见下图)选项来实现这样的条件

    enter image description here

    实现这一目标的好方法是什么?

1 个答案:

答案 0 :(得分:1)

没有理由保证downvote。这是你的解决方案。

NOT 复制年度批量删除过程,假设删除过程是在某种存储过程中完成的,对吗?如果是这样,您所做的是启用“复制存储过程的执行”。启用此功能后,您将创建一个后快照脚本,用于创建这些存储过程的虚拟版本。存储过程只是空的。这样,当它在发布者上执行时,只有proc调用被复制并在订阅者上执行。并且由于订阅者的proc是空的,所以没有任何事情发生。

如果年度删除操作在存储过程中是 NOT ,那么您需要返回开发/运营团队并告诉他们将存档/维护调用放入不同的存储过程中所以你可以做到这一点。