Я сделал ошибку, создающую кластеризируемый первичный ключ на столбце GUID. Существует много таблиц что ссылка что таблица с определенными внешними ключами. Размер таблицы не является значительным.
Я хотел бы преобразовать его от кластеризованного до некластеризованного, вручную не отбрасывая и воссоздавая любые внешние ключи или даже ограничение первичного ключа.
Действительно ли возможно достигнуть этого в MS SQL2005 и как если да?
Действительно ли возможно достигнуть этого ОНЛАЙН (без времени простоя дб) если да?
Вы можете сначала попробовать создать уникальный некластеризованный индекс NC, а затем отбросить кластерный PK. FK должен распознать этот другой индекс (но может и не распознать: никогда не пробовал).
Когда вы запускаете ALTER TABLE для удаления кластерного PK, используйте опцию ONLINE . Однако он доступен только в версии Enterprise.
ALTER TABLE Mytable DROP CONSTRAINT PK_Mytable WITH (ONLINE = ON)
Вы не можете использовать ONLINE для бита ADD CONSTRAINT.
Обычно ваши возможности ограничены без блокировки или создания сначала другой таблицы и переноса данных ...