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