최고의 답변자
SQL Server 2016에서 WITH 구문 사용시 질문

질문
-
SQL Server 2016에서 테이블 생성시 다음 쿼리를 활용하여 생성을 하려고 합니다.
CREATE TABLE [dbo].[FactInternetSales]
( [ProductKey] int NOT NULL
, [OrderDateKey] int NOT NULL
, [CustomerKey] int NOT NULL
, [PromotionKey] int NOT NULL
, [SalesOrderNumber] nvarchar(20) NOT NULL
, [OrderQuantity] smallint NOT NULL
, [UnitPrice] money NOT NULL
, [SalesAmount] money NOT NULL
)
WITH
( CLUSTERED COLUMNSTORE INDEX, DISTRIBUTION = HASH([ProductKey]));제가 참고하는 예제 동영상 및 홈페이지에서는 해당 쿼리로 무리없이 테이블이 생성 가능한데 제가 테이블을 생성할때
CLUSTERED, ProductKey 근처에 구문이 잘못되었다는 에러 메시지가 나오고 있습니다. WITH 절을 사용할때 특별한
설정을 해주어야 하는건가요?
PS. SQL Server에서 MPP를 활용하려고 하는데 MPP에 대한 설명만 나와있고 어떻게 구성하는지 참고하여 따라해볼수있는
자료가 있을까요?
답변
-
https://msdn.microsoft.com/en-us/library/mt204041.aspx
위 문서에서 확인해 보니 Azure SQL Data Warehouse나 Parallel Data Warehouse에서 지원되는 문법이네요.
(저도 처음봅니다^^)
그렇지 않고 일반 SQL Server 의 경우라면 & 테이블 생성 시 인덱스를 만들다면
......
, [SalesAmount] money NOT NULL
, INDEX index_name CLUSTERED COLUMNSTORE ....
)
와 같이 지정하면 될 것 같습니다. 아래 참조 문서입니다.
https://msdn.microsoft.com/en-us/library/ms174979.aspx
도움이 되시길...
Best Regards, Jungsun Kim
모든 응답
-
https://msdn.microsoft.com/en-us/library/mt204041.aspx
위 문서에서 확인해 보니 Azure SQL Data Warehouse나 Parallel Data Warehouse에서 지원되는 문법이네요.
(저도 처음봅니다^^)
그렇지 않고 일반 SQL Server 의 경우라면 & 테이블 생성 시 인덱스를 만들다면
......
, [SalesAmount] money NOT NULL
, INDEX index_name CLUSTERED COLUMNSTORE ....
)
와 같이 지정하면 될 것 같습니다. 아래 참조 문서입니다.
https://msdn.microsoft.com/en-us/library/ms174979.aspx
도움이 되시길...
Best Regards, Jungsun Kim