将分区从群集更改为非群集

时间:2020-10-07 22:34:09

标签: indexing partition

我们有一个审核表,该审核表最初具有一个聚集索引,然后将该聚集索引分区为一个聚集索引,然后将该聚集索引加载到登台表,并且每两周运行一次存储过程以删除超过2周的任何分区。原始表的聚集索引已更改为非聚集索引,因此现在删除临时表的旧分区不再适用于以下错误消息:

Error 4913 caught at line 29: ALTER TABLE SWITCH statement failed. 
The table 'DV_RAWVAULT.dbo.AsyncIGCMetadataCache_sync_audit_Staging' has 
clustered index 'IDX_AsyncIGCMetadataCache_sync_audit_Staging_START_TIME' 
while the table 'DV_RAWVAULT.dbo.AsyncIGCMetadataCache_sync_audit' does not have clustered index. 
[SQLSTATE 42000] (Error 50000)  Purging partition 1 [SQLSTATE 01000] (Error 0).  
The step failed.

我试图将聚簇索引放到暂存表上,然后重新创建它以匹配主表,该表工作了,但是这随后删除了主表中的所有记录。有没有一种方法可以将登台表上的聚集索引更改为非聚集索引,而又不丢失审计表中的所有记录?

谢谢 克里斯

0 个答案:

没有答案