Да, вы можете использовать разбиение, да, новые разделы могут создаваться динамически. Проще всего использовать схему разбиения, которую не нужно обновлять.
SQL Enterprise 2005 и выше:
В SQL 2005 и выше встроена прозрачная поддержка разбиения, если вы используете редакцию SQL для разработчиков или корпоративную версию. Динамическое добавление большего количества разделов означает, что вам нужно будет создать новую функцию разделения, новые схемы разделов и, возможно, новые файловые группы.
Вы можете изменить функцию разделения, используя SPLIT:
ALTER PARTITION FUNCTION MyPartitionFunction ()
SPLIT RANGE (2);
SQL 2000 или SQL 2005 и более поздних версий:
В противном случае вы все еще можете использовать разбиение, но вам нужно сделать это по-старому, как MS SQL 2000. По старинке вы должны физически создавать много таблиц, а затем просматривать их как UNION ALL каждой из таблиц. Таким образом, вам нужно знать схему заранее.
Хорошая новость о старом способе разбиения состоит в том, что еще проще создавать новые разделы динамически. Вам просто нужно создать новую таблицу с новым ограничением и обновить свое представление.
Однако существуют некоторые ограничения, ваш столбец разделения должен быть частью вашего первичного ключа. И чтобы делать вставки непосредственно в View, вам НЕ нужно иметь столбец Identity (который автоматически увеличивается с помощью MS SQL)