First, this is NOT a duplicate of this question. In that question the person was over-writing the file each time and the solution is to use INIT or NOINIT.
In my case we are generating a unique filename with each backup - a timestamp is appended to the filename.
We have an agent job that runs full backups nightly for about 20 databases. For about a week, 1 database seems to be increasing in size significantly each night.
We run a second agent job that runs log backups every 15 minutes but stops running between about 11pm and 5am. Usually first thing in the morning the log backups are large and then their size is small until people start working and then they're a variety of sizes.
All of this has been working without issue for years.
Only one database out of the 20 is showing this issue - each night's full backup is significantly larger than the prior night.
The log file backups are working for this database and all the others.
We have an availability group with three replicas. Two are set up to fail over to each other and the third replica is read-only for heavy queries, data extracts and reporting. The AG console shows green checkmarks all the way down the page for all servers.
The database in question is the largest out of the 20. Normal full backup is about 25GB. It slowly increased as follows: 33, 35, 36, 41, 47, 54, 64, 73 GB.
In contrast, for all 14 backups prior to this issue, file size was fairly steady around 25GB.
I have just paused all log backups for all database and issued a full backup to the affected database and that last full backup is 76GB.
AVAILABILITY_REPLICA
but a third replica - read only - showed it was waiting onACTIVE_TRANSACTION
. That said, when I queried - no active transactions. Finally, rebooted that replica and all resolved although log file remained 99% in use and most VLFs status 2 despite backups. Shrink file still worked