powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Тупой вопрос про секционированный колумнстор
8 сообщений из 8, страница 1 из 1
Тупой вопрос про секционированный колумнстор
    #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
Тупой вопрос про секционированный колумнстор
    #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
Тупой вопрос про секционированный колумнстор
    #39851275
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сначала секционировать кучу придется. Или переливать в уже заранее созданную секционированную таблицу.
...
Рейтинг: 0 / 0
Тупой вопрос про секционированный колумнстор
    #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
Тупой вопрос про секционированный колумнстор
    #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
Тупой вопрос про секционированный колумнстор
    #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
Тупой вопрос про секционированный колумнстор
    #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
Тупой вопрос про секционированный колумнстор
    #39851311
uaggster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Гавриленко Сергей Алексеевич, все, понял, спасибо!
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Тупой вопрос про секционированный колумнстор
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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