你可以在事务复制上使用相对昂贵的filter吗?

我试图复制(交易,推)一个相对较小的表(50K行),受到几个不同的filter,这是相当昂贵的(每个需要至less一个小时的时间完成,涉及一个表有40亿另一个数据库中的行)。 我希望发表的文章必须每天同步几次。

这是可行的,还是我应该寻找一个不同的解决scheme?

  • 在复制过程中是否会有独占locking原始表的问题?
  • 目前,快照代理状态显示“[0%]进程正在运行,正在等待来自服务器的响应。 昂贵的filter是否正常? 这在实践中可以接受吗?

对于它的价值,这里是MSDN的摘录- 过滤发布的数据 :

事务性发布中的行筛选器可能会增加大量开销,因为针对为已发布表写入的每个日志行都要评估项筛选器子句,以确定是否应该复制该行。 如果每个复制节点都可以支持全部数据加载,并且整体数据集相当小,则应避免事务性发布中的行筛选器。

可能最好使用完全独立于其他行/表/数据库的非常快速的sargable标准来过滤行。