We are currently running the Distribution clean up job every 10 minutes but it has been failing with the error:
-----------------------------------------------
Message
Executed as user: ****. Transaction (Process ID 1746) was deadlocked on lock resources with another process and has been chosen as the deadlock victim. Rerun the transaction. [SQLSTATE 40001] (Error 1205). The step failed.
-----------------------------------------------
It runs for about 28-32 minutes and then deadlocks.
We have also noticed that it locks one of the database log readers while this occurs. This causes a delay in replicating the transactions across.
Some other information:
SQL 2008 Enterprise (build 10.0.4000)
Publisher/Distributor on same machine
Distributor db size: 154.4 GB
MSrepl_commands:
Rows 320,776,664
Data: 136.8 GB
MSrepl_transactions
Rows 64,378,104
Data: 3.1 GB