Если на ваш существующий ПК ссылаются многие другие таблицы, вы потратите много утомительных и подверженных ошибкам минут на написание сценария, чтобы отбросить все ссылки FK и воссоздать их.
SQL Server Management Studio может сделать это за вас. Вы, возможно, не поняли, что у вас может быть только один кластеризованный индекс в таблице, потому что кластеризованный индекс представляет физический порядок строк; это означает, что сначала нужно вызвать кластеризованный индекс и отключить отключение кластеризации. Тогда и только тогда вы сможете открыть другой индекс и включить на кластеризацию.
Это необходимо сделать из дизайнера таблиц, затем щелкните правой кнопкой мыши и выберите Indexes/Keys...
. Сначала найдите существующий кластеризованный индекс (возможно, первичный ключ) и измените Create as Clustered
на Нет . Затем перейдите к другому индексу и замените Create as Clustered
на Да . Если таблица большая, операция может истечь во время сохранения; вы можете обойти это, если SSMS сгенерирует скрипт изменения (щелкните правой кнопкой мыши конструктор после изменения индексов, и вы увидите опцию). Затем вы можете запустить этот скрипт в окне запроса без тайм-аута.
Если вы посмотрите на этот скрипт изменений, вы увидите всю работу, которую он выполняет, создавая промежуточные таблицы и переключая ключи; Больно писать это вручную. Пусть SSMS сделает это за вас.