我有一个关于试图阻止向发布者分发给订阅者的大型事务的问题。假设有人不小心更新了一张包含5000万条记录的表中的每条记录,然后在意识到自己的错误时将所有记录重新设置回来。在这种情况下,这些更改将在事务复制设置中分配给两个订户。在系统上它表示它将会复制到用户2天,但是克服这个问题的最好方法是什么?在SQL Server中停止复制大型事务
我已经看到这是可能的,事实上很容易跳过使用交易的xact_seqno
,sp_helpsubscriptionerrors
和sp_setsubscriptionxactseqno
命令。但是,如果将此用于正在积极分发的交易,会发生什么?有什么需要停止的吗?
如果这不是解决问题的最佳方法,那会是什么?
我实际上只是尝试在单独的测试环境设置中单纯尝试这样做。使用'sp_setsubscriptionxactseqno'似乎不起作用;该交易仍然得到应用。我也尝试从'MSrepl_commands'和'MSrepl_transactions'在同一个'xact_seqno'上删除,但所有的改变仍然是分布式的。很困惑! – o2908