La mejor manera de cambiar el índice agrupado (PK) en SQL 2005
Tengo una tabla que tiene un índice agrupado en dos columnas: la clave principal de la tabla. Se define de la siguiente manera:
ALTER TABLE Table ADD CONSTRAINT [PK_Table] PRIMARY KEY CLUSTERED
(
[ColA] ASC,
[ColB] ASC
)WITH (SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, ONLINE = OFF) ON [PRIMARY]
Quiero eliminar este PK de índice agrupado y agregar un índice agrupado como sigue y agregar una restricción de clave principal utilizando un índice no agrupado, que también se muestra a continuación.
CREATE CLUSTERED INDEX [IX_Clustered] ON [Table]
(
[ColC] ASC,
[ColA] ASC,
[ColD] ASC,
[ColE] ASC,
[ColF] ASC,
[ColG] ASC
)WITH (PAD_INDEX = ON, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, IGNORE_DUP_KEY = OFF, FILLFACTOR = 90, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = OFF) ON [PRIMARY]
ALTER TABLE Table ADD CONSTRAINT
PK_Table PRIMARY KEY NONCLUSTERED
(
ColA,
ColB
) WITH( STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
Iba a soltar el índice agrupado PK, luego agregar el nuevo índice agrupado y luego agregar el índice de clave primaria no agrupado, pero aprendí que al soltar el índice agrupado existente se reordenarían los datos de la tabla (vea la respuesta aquí @ Qué sucede cuando suelto una clave primaria en clúster en SQL 2005), que no creo que deba ser necesario. La tabla está golpeando 1 TB, por lo que realmente quiero evitar cualquier reordenamiento innecesario.
Mi pregunta es, ¿cuál es la mejor manera de pasar de la estructura existente a la estructura deseada?
EDIT: solo quiero aclarar. La tabla es de 1TB y desafortunadamente no tengo espacio para crear una tabla temporal. Si hay una manera de hacerlo sin crear una tabla temporal, hágamelo saber.