I have a runaway distribution database that is 640gb in size. I have narrowed it down to the msreplcommands
table which is holding 2 billion rows.
I have checked all publications and found 2 of them having immediate sync set to 1. I changed this to 0. Reran the cleanup job and it deleted about 240K rows only. Ran this:
SELECT * from MSrepl_transactions (nolock) where entry_time < getdate() -5;
Found entries as old as 30 days.
The problem is I am running out of space very fast and all delete attempts lock the msreplcommands
table and thus lock replication. We are a 24/7 shop and I have no server downtime possible. Is there another way to delete this amount of data without locking replication?