好吧,我一直在从一些小文件中压缩文件,并将它们移动到我为这些杂项表创建的 FG 上。我一直在通过使用WITH (DROP_EXISTING = ON)
选项重新创建索引来移动这些表,并且效果很好。然而,这最后一次它给了我一个错误。这是我正在运行的脚本
CREATE Unique CLUSTERED INDEX PK_MyTable
ON dbo.MyTable (MyTableID, RowStatus)
WITH (DROP_EXISTING = ON)
ON FG_Misc;
当我运行它时,我收到以下错误消息。
消息 1902,级别 16,状态 3,第 1 行
不能在表 'dbo.MyTable' 上创建多个聚集索引。在创建另一个之前删除现有的聚簇索引 PK_MyTable'。
我看不出有任何原因会在这个特定的表上抛出这个错误,但我一直在处理的任何其他表上都没有。
当当前主键是非聚集的,并且还有一个聚集索引时,可能会发生这种情况:
DROP_EXISTING
使用语法将主键从非集群更改为集群是有效的: