2014-01-16 43 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