索引禁用/重建抛出列存储索引数据压缩错误

问题描述

我在cube.partition_daily 表中添加一个列存储索引

错误信息:

消息 10799,级别 16,状态 1,第 123 行 这不是列存储索引的有效数据压缩设置。请选择 COLUMNSTORE 或 COLUMNSTORE_ARCHIVE 压缩。

当运行索引时,在 2 个 proc 调用之间禁用和重建,这些 proc 本质上是将数据插入到 cube.partition_daily 表中

ALTER INDEX ALL ON cube.partition_daily disABLE;

EXEC cube.populate_daily

ALTER INDEX ALL
ON cube.partition_daily
REBUILD
WITH (FILLFACTOR = 100,DATA_COMPRESSION = PAGE);

为什么会抛出此错误消息?

解决方法

来自MS doc

如果一个或多个索引位于脱机或只读文件组中,或者在一种或多种索引类型上不允许指定操作,则指定 ALL 会导致语句失败

DATA_COMPRESSION 不能是 COLUMNSTORE 索引的 PAGE。