问题描述:
今天在做分区切换的时候把旧log数据切到clear表,遇到了这个问题,顺便做下笔记记录一下解决方法
'ALTER TABLE SWITCH' 语句失败。表'MGXXX.dbo.user_XXX' 已分区,但 索引'ix_user_XXX_user_id' 未分区。
解决方法:
源表的分区以及目标表或分区必须在同一个文件组中,对应的索引或索引分区也必须在同一个文件组中。
我检查了一下报错的索引,果然是文件组是[PRIMARY],分区表是用的分区文件组
重建分区方案索引,把原来的索引删除,再切分区就可以了
#分区方案,非聚集索引 CREATE NONCLUSTERED INDEX [ix_user_XXX_user_id] ON [dbo].[user_XXX] ( user_id asc )WITH (online=on) ON [ps_user_XXX]([ctime]) GO