I have a question about trying to stop a large transaction at the publisher being distributed to the subscribers. Let's say someone accidentally updates every record in a table with 50 million records and then upon realising their mistake, sets all of the records back. In this instance, the changes would get distributed to two subscribers in a transactional replication set up. On the system it says it will 2 days to replicate to the subscribers, but what's the best way to overcome this?
I have seen it's possible and in fact very easy to skip a command using the transaction's xact_seqno
,sp_helpsubscriptionerrors
and sp_setsubscriptionxactseqno
. However, what would happen if this was used on a transaction which was actively being distributed? Does anything need to be stopped?
If this is not the best way to overcome the issue, what would be?