我们有一个审核表,该审核表最初具有一个聚集索引,然后将该聚集索引分区为一个聚集索引,然后将该聚集索引加载到登台表,并且每两周运行一次存储过程以删除超过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.
我试图将聚簇索引放到暂存表上,然后重新创建它以匹配主表,该表工作了,但是这随后删除了主表中的所有记录。有没有一种方法可以将登台表上的聚集索引更改为非聚集索引,而又不丢失审计表中的所有记录?
谢谢 克里斯