We are in a similar situation. For regulatory reasons, we cannot delete data for a certain period of time, but many of our tables become very large and bulky and realistically most of the data that is older than one month can be deleted with little daily problems.
Currently, we programmatically crop tables using a custom .NET / shell combination application, using BCP to back up files that can be archived and left on the network side. This is not particularly affordable, but it is more economical. (This is complicated by the fact that we need to keep certain historical dates, and not be able to truncate at a certain size or with key fields in certain ranges.)
We are exploring alternatives, but, in my opinion, it is surprising that there are not many best practices in this discussion!
source share