Wir haben eine MS Access-Datenbank, die wir auf eine SQL Server-Datenbank mit einem neuen DB-Design migrieren möchten. Ein Teil der Anwendung, die die SQL Server-DB verwendet, ist bereits geschrieben.Verwenden Sie SSIS zum Migrieren und Normalisieren der Datenbank
Ich habe mich umgesehen, um herauszufinden, wie der Migrationsschritt am einfachsten durchzuführen ist, und ich habe mit Microsoft SQL Server Integration Services (SSIS) begonnen. Jetzt bin ich an den Punkt gekommen, dass ich eine Tabelle aus Gründen der Normalisierung vertikal aufteilen möchte.
Ein bezogenes Beispiel sieht wie folgt aus
MS Access-Tabelle Person
ID
Name
Street
SQL Server-Tabelle Person
id
name
SQL Server-Tabelle Adresse
id
person_id
street
Wie kann ich diese Aufgabe am besten mit SSIS erledigen? Die ID-Spalten sind Identitätsspalten (autoincrement), daher kann ich die alte ID nicht einfügen. Wie kann ich den richtigen Fremdschlüssel für Person_ID in die Adresstabelle eingeben?
Möglicherweise gibt es sogar eine Tabelle, die in drei Tabellen aufgeteilt werden muss, wobei eine Zeile in Tabelle2 zu Tabelle1 gehört und eine Zeile in Tabelle3 zu einer Zeile Tabelle2.
Ist SSIS das geeignete Mittel dafür?
EDIT Obwohl dies eine einmalige Migration, brauchen wir ein automatisiertes und wiederholbare Verfahren haben, weil die Produktionsdatenbank unter starkem Einsatz ist und wir auf der Migration in unserer Entwicklungsumgebung mit dem jüngsten arbeiten, aber nicht aktuelle Daten. Wir planen einen Testlauf der Migration und lassen den Kunden das Verhalten überprüfen. Wenn alles in Ordnung ist, werden wir für die echte Migration gehen.
Die meisten der angegebenen Lösungen enthalten viele manuelle Schritte und sind daher nicht geeignet.
Das ist eine gute Idee, aber wenn ich es richtig mache, muss ich zuerst die Access DB in SQL Server importieren !? Für eine SQL-Aufgabe gibt es keine Quellen- und Zielverbindung. – GrGr
Ja - oft ist es besser, zuerst die Originaltabellen zu importieren und dann alle Manipulationen in SQL Server –
wahr durchzuführen, also importieren Sie zuerst die Zugriffsdb, aber setzen Sie alle Tabellennamen auf etwas anderes, damit Sie sie einmal entfernen können Sie haben Ihre Daten aufgeteilt. – Eppz