Sql-Server

將主鍵移動到文件組 (SQL Server 2012)

  • November 18, 2012

如何將集群主鍵移動到新文件組?我已經找到了一種可能的“算法”,但效率極低:

  1. 刪除非聚集索引(需要重新使用和重建它們)
  2. 刪除聚集索引(需要使用整個表)
  3. 創建新的主鍵約束(大排序操作)
  4. 創建所有非聚集索引(需要排序和寫入)

有沒有更有效的方法?這是非常低效的,並且需要很長時間,因為在弱伺服器上表的大小為 50GB。

有沒有辦法跳過所有這些,只對新文件組進行重建?這不需要對數據進行任何排序。

CREATE UNIQUE CLUSTERED INDEX Your_PK_Name
   ON YourTable(YourColumnList)
WITH (DROP_EXISTING =  ON )
ON [YourOtherFileGroup]

儘管語法中沒有提到它,但它保留了邏輯 PK 屬性。

引用自:https://dba.stackexchange.com/questions/28872