2014-01-16 6 views
1

SQL Azure имеет зависимость каждой таблицы от кластеризованного индекса. У меня есть две таблицы, которые имеют зависимость FK друг от друга, с одной из таблиц с помощью. Этот тип данных необходимо изменить с VARCHAR на INT. Для этого необходимо временно отключить отношения индекса и FK, чтобы исправить любые потенциально опасные данные, а затем изменить столбец на тот же тип данных, а затем восстановить FK и индекс.Безопасное изменение типа данных столбца в SQL Azure

Как это можно сделать без ошибок в SQL Azure?

ответ

0

Не пробовал это на SQL Azure специально, но я бы рекомендовал поставить все изменения метаданных в сделке, а также безопасна получить эксклюзивную блокировку на обеих таблицах:

BEGIN TRANSACTION 

    SELECT 1 FROM FirstTable WITH (TABLOCKX) 
    SELECT 2 FROM SecondTable WITH (TABLOCKX) 

    -- drop FKs, alter tables etc. 


COMMIT TRANSACTION 
Смежные вопросы