Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Тупой вопрос про секционированный колумнстор / 8 сообщений из 8, страница 1 из 1
19.08.2019, 18:29
    #39851270
uaggster
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тупой вопрос про секционированный колумнстор
Коллеги приветствую!

Возможно ли создать кластерный секционированный колумнстор из кучи, созданной через select into?

Пытаюсь сделать так:
Код: sql
1.
2.
3.
4.
5.
SELECT TOP (0) *
INTO [dbo].[complex_koef]
FROM data_all.dbo.[complex_koef];

CREATE CLUSTERED COLUMNSTORE INDEX [cci_complex_koef] ON dbo.[complex_koef] ON sch_region_data ([region]);



Оно мне говорит:
The statement failed because a columnstore index must be partition-aligned with the base table. Create the columnstore index using the same partition function and same (or equivalent) partition scheme as the base table. If the base table is not partitioned, create a nonpartitioned columnstore index.

А как быть то?
Код: sql
1.
2.
3.
SELECT TOP (0) *
INTO [dbo].[complex_koef] ON sch_region_data ([region])
FROM data_all.dbo.[complex_koef];


Оно не понимает, говорит:
Partition function 'fn_region_data' uses 1 columns which does not match with the number of partition columns used to partition the table or index.

Если я добавляю кластерный партиционированный индекс, то оно потом не дает создать кластерный партиционированный колумнстор, мотивируя это тем, что:
Cannot recreate index 'PK_complex_koef'. The new index definition does not match the constraint being enforced by the existing index.

Чего делать то?
...
Рейтинг: 0 / 0
19.08.2019, 18:31
    #39851271
uaggster
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тупой вопрос про секционированный колумнстор
Забыл!
Microsoft SQL Server 2016 (SP2-CU7-GDR) (KB4505222) - 13.0.5366.0 (X64) Jun 15 2019 08:22:25 Copyright (c) Microsoft Corporation Standard Edition (64-bit) on Windows Server 2012 R2 Standard 6.3 <X64> (Build 9600: ) (Hypervisor)
...
Рейтинг: 0 / 0
19.08.2019, 18:45
    #39851275
Гавриленко Сергей Алексеевич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тупой вопрос про секционированный колумнстор
Сначала секционировать кучу придется. Или переливать в уже заранее созданную секционированную таблицу.
...
Рейтинг: 0 / 0
19.08.2019, 19:04
    #39851281
invm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тупой вопрос про секционированный колумнстор
uaggsterЧего делать то?Например, можно так
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
use tempdb;
go

create partition function pfnTest(int)
as
range for values (1, 2);
go

create partition scheme psTest
as
partition pfnTest
all to ([primary]);
go

select top (0)
 *
into dbo.t
from
 sys.objects;

create clustered index CIX_t on dbo.t (object_id) on psTest(object_id); 
create clustered columnstore index CIX_t on dbo.t with (drop_existing = on) on psTest(object_id);
go

drop table dbo.t;
drop partition scheme psTest;
drop partition function pfnTest;
go
...
Рейтинг: 0 / 0
19.08.2019, 19:39
    #39851303
uaggster
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тупой вопрос про секционированный колумнстор
invm, Я, конечно, попробую запустить тест, но я так уже делал.
Оно ругается:
Cannot recreate index 'PK_complex_koef'. The new index definition does not match the constraint being enforced by the existing index.
...
Рейтинг: 0 / 0
19.08.2019, 19:44
    #39851307
Гавриленко Сергей Алексеевич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тупой вопрос про секционированный колумнстор
uaggsterinvm, Я, конечно, попробую запустить тест, но я так уже делал.
Оно ругается:
Cannot recreate index 'PK_complex_koef'. The new index definition does not match the constraint being enforced by the existing index.

А не наде делать PK. Надо сделать обычный кластерный индекс, тогда все работает:
...
Рейтинг: 0 / 0
19.08.2019, 19:47
    #39851310
uaggster
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тупой вопрос про секционированный колумнстор
Стоп. Я кажется понял, в чем проблема.
Я создавал партиционированный кластерный индекс как:
Код: sql
1.
Alter table dbo.complex_koef Add constraint PK_complex_koef primary key clustered (id, region) on sch_region_data ([region]);


Но ведь create clustered index - это же просто альтернативный синтаксис?
Или я в другом месте перемудрил.
...
Рейтинг: 0 / 0
19.08.2019, 19:48
    #39851311
uaggster
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тупой вопрос про секционированный колумнстор
Гавриленко Сергей Алексеевич, все, понял, спасибо!
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Тупой вопрос про секционированный колумнстор / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]