Не существует функции MS SQL, которая будет автоматически создавать такие теневые таблицы.Он подходит к разделению, но он действительно разделяет хранилище (быстрое / медленное), сохраняя данные в одной таблице.
Что вам нужно, так это прямой архив и очистка.Простая стратегия - это ночная задача:
- обновить статические таблицы поиска (на которые ссылается основная таблица)
- переместить записи с
date < getdate()-6
в таблицу истории - удалитьзаписи, которые были перемещены
Если в этой таблице есть ссылки на внешние ключи to
другие таблицы, маловероятно, что эти таблицы нужно будет очистить, если они не слишком быстро растут (редко).С другой стороны, если в других таблицах есть FK к основному, это другой вопрос.В этом случае вам придется переместить всех зависимых потомков, затем первичных, а затем удалить в обратном порядке.