我有一个包含约 100 亿条记录的行存储表。该表在一个 INT 字段上进行分区,并且有大约 1,400 个活动分区。我还有一个基于相同分区方案/函数的聚集列存储表。我可以将活动分区从行存储表切换到列存储表吗?
ALTER TABLE [dbo].[RowstoreTable] SWITCH PARTITION 741 TO [dbo].[ColumnstoreTable] PARTITION 741
此数据库驻留在 SQL Server 2014 企业版上。
我有一个包含约 100 亿条记录的行存储表。该表在一个 INT 字段上进行分区,并且有大约 1,400 个活动分区。我还有一个基于相同分区方案/函数的聚集列存储表。我可以将活动分区从行存储表切换到列存储表吗?
ALTER TABLE [dbo].[RowstoreTable] SWITCH PARTITION 741 TO [dbo].[ColumnstoreTable] PARTITION 741
此数据库驻留在 SQL Server 2014 企业版上。
不,这是不可能的。
ALTER TABLE... SWITCH
是元数据操作,两个表需要具有相同的模式。不存在具有一些列存储分区和一些行存储分区的分区表。您可以做的最好的事情是切换行存储分区,在切换出的表上构建聚集列存储索引,然后将该表切换到列存储表。