Column具有不能参与列存储索引的数据类型

时间:2018-03-19 14:33:31

标签: sql-server tsql columnstore

我想使用以下查询在表中创建聚簇列存储索引:

CREATE CLUSTERED COLUMNSTORE INDEX cci
ON agl_20180319_bck

我收到了这个错误:

  

Msg 35343,Level 16,State 1,Line 6声明失败。柱   '的memberOf'具有无法参与列存储的数据类型   指数。省略栏' memberOf'。

' memberOf'采用以下格式:memberOf(nvarchar(max))

如何克服/忽略此错误及其含义是什么?

3 个答案:

答案 0 :(得分:4)

根据documentation

  

不能包含使用以下任何数据类型的列   列存储索引:

     

nvarchar(max),varchar(max)和varbinary(max)(适用于SQL Server   2016和以前的版本,以及非聚集的列存储索引)

更改列的类型(如果可以)或者只是在此特定列上没有列存储索引。

答案 1 :(得分:2)

您需要单独指定参与列,不包括memberOf和不能在columnStore索引中使用的任何其他列

答案 2 :(得分:0)

只需指定varchar变量的长度即可,而不要使用max。帮了我大忙!