Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Промяна на първичен ключ от неклъстерен на клъстерен

1) Първо премахнете съществуващия клъстерен индекс (IX_TableX_FieldB):

   DROP INDEX TableX.IX_TableX_FieldB

2) Създайте (временно) УНИКАЛНО ограничение за уникалните полета, посочени в първичния ключ

    ALTER TABLE TableX
    ADD CONSTRAINT UQ_TableX UNIQUE(FieldA)

3) Пуснете ПЪРВИЧНИЯ КЛЮЧ

    ALTER TABLE TableX
    DROP CONSTRAINT PK_TableX

4) Създайте отново ПЪРВИЧНИЯ КЛЮЧ като КЛУСТЕРИРАН

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

5) Премахнете временното ограничение UNIQUE

   ALTER TABLE TableX
   DROP CONSTRAINT UQ_TableX

6) Добавете отново IX_TableX_FieldB като НЕКЛУСТЕРИРАН

   CREATE NONCLUSTERED INDEX IX_TableX_FieldB ON TableX(FieldB)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Преобразувайте редове в колони

  2. Можем ли да извикаме съхранена процедура от функция?

  3. Актуализирайте Топ 1 запис в таблица sql сървър

  4. Средно несъответствие на float

  5. Групи за наличност на SQL Server AlwaysOn:Инсталиране и конфигуриране. Част 2