First of all, ask yourself what the purpose of having an indefinite backlog of all transactions ever submitted to the database would be. Is it really important that you can restore the database as it was 7 months and 8 days ago?
The most common reason for backing up a database is disaster recovery. If your database fails, for whatever reason, you wouldn't restore from a backup taken a year ago. You would restore the database to the most recent backup available.
If you agree, why not employ a backup plan in which you take:
- Weekly full backups
- Daily differential backups (for easement of restore operations)
- Hourly log backups (for up-to-date point-in-time restore ability)
Lets say you take a full backup Sunday at 00:05, and all other days a differential backup at the same time.
If someone accidentally drops all table at thursday around noon, you would only need to restore: The full backup from sunday, the differential backup from thursday (at 00:05), and 11 hours of log backups.
With this model, you only ever need 1 (one!) week of backlog to recover from a disaster.
Every sunday, when the full backup is complete, you can simply discard all backups from the previous week.
This of course, only applies in a scenario in which the purpose for backup is disaster recovery