2016-05-09 11 views
0

Ich wurde gebeten, die Migration von einer MS Access-Datenbank zu SQL Server zu überwachen. Das verwendete Werkzeug ist SSMA für Access.Migrieren von Zugriff auf SQL Server

Während der Fortschritte, die wir ein Problem konfrontiert wurden, ohne Änderung der Struktur der Tabelle

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

Gibt es eine Möglichkeit, dies zu lösen? Wir stehen an mehreren Tischen vor diesem Problem und es würde ewig dauern, die Struktur des Ganzen zu ändern.

Vielen Dank im Voraus

+1

überprüfen Access-Datenbank, wenn die Fremdschlüsselspalte in der verwendeten absperren Die angegebene Tabelle wurde auch als Primärschlüssel eingerichtet. Dies legt nahe, dass die Tabelle (eine untergeordnete Tabelle) eine Eins-zu-eins-Beziehung zur übergeordneten Tabelle darstellt. Wenn die FK-Spalte in eine PK-Spalte umgewandelt wurde (oder umgewandelt wurde), wäre diese Spalte gleichzeitig eine FK- und eine PK-Spalte. Ich würde auch versuchen, auf eine neue SQL-Datenbank upsizing anstelle von Daten in bestehenden (in diesem Fall) zu überschreiben. Sie können/sollten die PK-Einstellung für diese FK-Spalte entfernen, wenn Sie feststellen, dass dies der Fall ist (fügen Sie dieser Tabelle eine ID-Spalte mit automatischer ID hinzu, um die fehlerhafte PK zu ersetzen). –

Antwort

0

Sie konnten die Identitätsprüfung von

SET IDENTITY_INSERT [table name] ON 

Sie Ihren Einsatz in SQL und dann

SET IDENTITY_INSERT [table name] OFF 
+0

SSMA erstellt die Tabellen und treibt die Daten hoch. Das Ablegen von SSMA bedeutet, dass das Hochskalieren ein unpraktischer manueller Prozess wird. Nicht klar, ob die Fehlermeldung auf PK-Einfügungen zurückzuführen ist oder ob SSMA versucht, eine untergeordnete Tabelle zu erstellen, in der FK gleichzeitig eine FK- und eine PK-Spalte ist. SSMA erlaubt es, "benutzerdefinierte" SQL-Befehle für eine bestimmte Tabelle hinzuzufügen, also werde ich sagen, dass das Zulassen von PK-Einfügungen dies beheben kann, aber die Identitätseinfügung muss zu SSMA hinzugefügt werden (sql migration assistant), da SSMA normalerweise ist migrieren mehr als eine Tabelle verwandter Daten (sonst warum SSMA für 1 Tabelle verwenden?). –

Verwandte Themen