sql >> Base de Datos >  >> RDS >> Sqlserver

Cambiar una clave principal de no agrupada a agrupada

1) Primero suelte el índice agrupado existente (IX_TableX_FieldB):

   DROP INDEX TableX.IX_TableX_FieldB

2) Cree una restricción ÚNICA (temporal) en los campos únicos a los que se hace referencia en la clave principal

    ALTER TABLE TableX
    ADD CONSTRAINT UQ_TableX UNIQUE(FieldA)

3) Suelta la CLAVE PRINCIPAL

    ALTER TABLE TableX
    DROP CONSTRAINT PK_TableX

4) Vuelva a crear la CLAVE PRIMARIA como CLÚSTER

   ALTER TABLE TableX
   ADD CONSTRAINT PK_TableX PRIMARY KEY CLUSTERED(FieldA)

5) Eliminar la restricción ÚNICA temporal

   ALTER TABLE TableX
   DROP CONSTRAINT UQ_TableX

6) Vuelva a agregar IX_TableX_FieldB como NO CLUSTERADO

   CREATE NONCLUSTERED INDEX IX_TableX_FieldB ON TableX(FieldB)