Стандартные способы конечно рулез, но как правило СТАНДАРТНЫЙ, значит общий для всех, а общий для всех - значит не позволяющий наворотов и индивидуальности требуемой для каких-то специфичных Use-case-ов....
Я вот сторонник индивидуальности - удобство для пользователя в каждом конкретному случае, поэтому мы когда делаем архивацию для базы, если на примере документооборота расматривать - пишем логику архивации таким образом, чтобы
1) архивировать документы со всеми связными документами
2) так как база на платформе лотус воркфлоу, а там все на унидах документов - то при архивации - перепрописывание унидов во все поля и пр.
Не надо бояться писать код, это быстро, а продуманный use case дает пользователям массу удобств.
Очень удобно разбить базу из исходного вопроса на тома по годам например, с перекрестными ссылками.