Recently I encountered an issue where the transaction logs in my production databases have been growing up to 1 TB and I have not been able to shrink them. After some initial investigation I found that the log_reuse_wait_desc in sys.databases is REPLICATION for all databases in question. This made sense as these databases are set up for transactional replication. I then executed sp_repldone as many online resources suggest and that cleaned up the transaction log. However, the issue keeps resurfacing so running sp_repldone once a day is far from a permanent solution.
It is my understanding that the log reader agent is responsible for running sp_repldone on a regular basis. However, I do not see this happening when I run a profiler trace on the server. Does anyone know how the log reader agent calls sp_repldone or why it isn't running? Any insight would be appreciated.
Server - SQL Server 2008 R2 SP1 Enterprise Edition