2016-05-09 37 views
0

我被要求監督從MS Access數據庫到SQL Server的遷移。正在使用的工具是用於Access的SSMA。遷移到SQL Server的訪問

在進步,我們一直面臨的一個問題

Synchronization Error: The foreign key cascading '[table name]' can not be created where the column reference '[table name].Codigo' is an identity column.

有什麼辦法來解決這個不改變表的結構?我們在多個表上面臨這個問題,並且需要很長時間才能更改全部結構。

在此先感謝

+1

檢查訪問數據庫,如果在使用外鍵列給定的表格也被設置爲主鍵。這將表明該表(一個子表)與父表是一對一的關係。如果FK色譜柱已經(或被轉換成)PK色譜柱,那麼該色譜柱將同時是FK和PK色譜柱。我也會嘗試升級到一個新的SQL數據庫,而不是覆蓋現有的數據(如果這是你的情況)。如果您發現這種情況,您可以/應該刪除該FK列上的PK設置(將自動編號ID列添加到該表以替換不良PK)。 –

回答

0

你可以關閉身份通過

SET IDENTITY_INSERT [table name] ON 

檢查做你插入到SQL然後

SET IDENTITY_INSERT [table name] OFF 
+0

SSMA正在創建表格並推送數據。丟棄SSMA意味着增加規模的過程變成不實際的手動過程。不清楚錯誤信息是由於PK插入引起的,還是SSMA試圖創建一個FK同時是FK和PK列的子表。 SSMA允許爲給定的表添加「自定義」SQL命令,所以我將聲明允許PK插入可以解決這個問題,但是同樣的,身份插入必須被添加到SSMA(sql遷移助手),因爲SSMA通常是遷移多個相關數據的表格(或者爲什麼要爲一個表格使用SSMA?)。 –