Quantcast
Channel: SQL.ru: Microsoft SQL Server
Viewing all articles
Browse latest Browse all 7251

Exchange partition

$
0
0
Таблица фактов с партиционированием:

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))

Viewing all articles
Browse latest Browse all 7251

Trending Articles