Таблица фактов с партиционированием:
Поле партиционирования KEY_DATE_START, int, непустое
- Создаю таблицу (create as select ) - TMP_F_table
- И вторую, чтобы таджикская СУБД поверила, что партиция пустая, на которую потом переключу заполненную партицию - TMPP_F_table
- заполняю таблицу TMP_F_table
- проверяю
Одна партиция, значения 20180101 20180131
- переключаю на пустую существующую партицию (TMPP_F_table)
- проверяю результат - Одна партиция, значения 20180101 20180131
- создаю констрейнт WITH CHECK на таблице TMP_F_table
- переключаю на партиционированную:
MSSQL 4982 ALTER TABLE SWITCH allows values that are not allowed by check constraints or partition function
Индексы поубивал, диапазоны констрейнту как только не задавал, начал с
CREATE PARTITION FUNCTION MyIntDatePartFunc (int) AS RANGE RIGHT FOR VALUES ('20140101', '20140201', ... , '20251201', '20260101');
Поле партиционирования KEY_DATE_START, int, непустое
- Создаю таблицу (create as select ) - TMP_F_table
- И вторую, чтобы таджикская СУБД поверила, что партиция пустая, на которую потом переключу заполненную партицию - TMPP_F_table
- заполняю таблицу TMP_F_table
- проверяю
select max($PARTITION.MyIntDatePartFunc(KEY_DATE_START)), min($PARTITION.MyIntDatePartFunc(KEY_DATE_START)), min(key_date_start), max(key_date_start) from TMP_F_table
Одна партиция, значения 20180101 20180131
- переключаю на пустую существующую партицию (TMPP_F_table)
- проверяю результат - Одна партиция, значения 20180101 20180131
- создаю констрейнт WITH CHECK на таблице TMP_F_table
- переключаю на партиционированную:
MSSQL 4982 ALTER TABLE SWITCH allows values that are not allowed by check constraints or partition function
Индексы поубивал, диапазоны констрейнту как только не задавал, начал с
([KEY_DATE_START]>=(20180101) AND [KEY_DATE_START]<(20180132))