Немного поделюсь опытом:
(Огромное спасибо
Torin за помощь на начальном этапе)
1. база ~200 гиг.
2. партицирование делалось по дате только для огромных таблиц
3. при партицировании, главное условие: значимое поле (дата в моем случае) должно входить в кластерный индекс (что косвенно увеличивает размер базы)
4. приведенный скрипт by
Torin, не подошел, т.к. я не все таблицы партицировал.
5. я создал отдельные filegroup, files, функцию и схему партицирования по полю типа "дата"
6. для каждой таблицы (12 штук) был отдельный скрипт
7. вручную удалял кластерный индекс для таблицы
8. добавлял в кластерный индекс поле "дата" если это требовалось
9. запускал скрипт из п.6.
10. затем filegroup делал readonly и средствами NTFS сжимал фалы этой группы. (мне хотелось именно это сделать)
В итоге база стала 110 гиг из них 20 занимает на диске (реально 60) созданная партиция.
Проверял отчеты по данным таблицам, работают без проблемм и снижения производительности не заметил.
Конечно это не серьезное исследование, но кое какие выводы сделал, например, то что в моем случае, никакие структурные изменения для партицированных таблиц невозможны (ибо readonly)