MySQL auf SQL Server übertragen von Daten
Brauche ich, um Daten zu konvertieren, die bereits in einer MySQL-Datenbank, einer SQL Server-Datenbank.
Nachteil hier ist, dass die alte Datenbank war schlecht konzipiert, aber das neue ist in eine richtige form 3N. Hat jemand irgendwelche Tipps, wie man über das tun dies? Ich habe SSMS 2005.
- Kann ich diese verwenden, um eine Verbindung zu der MySQL-DB und erstellen Sie ein DTS? Oder benötige ich für die Verwendung von SSIS?
- Brauche ich ein Skript für die MySQL-DB und verändern jeder Anweisung "einfügen" in der SQL Server-DB?
Hat jeder Durchlaufen bevor? Bitte um HILFE!!!!
InformationsquelleAutor andrewWinn | 2009-12-02
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sehen dieser link. Die Idee ist, fügen Sie Ihre MySQL-Datenbank als linked server in SQL Server über das MySQL-ODBC-Treiber. Dann können Sie Vorgänge durchführen, die Sie gerne auf der MySQL-Datenbank per SSMS, darunter das kopieren von Daten in SQL Server.
Herzlichen Glückwunsch zu verschieben, bis in der RDBMS-Welt!
Definitiv der einfachste Weg zu gehen. Arbeitet, um Daten in Access als gut (meint jemand jemals wollen würde, das zu tun).
Ich dachte das gleiche am Anfang, aber ich glaube er meint das verschieben von schlechtem design zu "normalisieren".
Ich weiß, aber ich konnte einfach nicht widerstehen.
Die freigegebenen link in dieser Antwort ist wirklich hilfreich. @David Lively
InformationsquelleAutor 3Dave
SSIS ist entworfen, um zu tun diese Art der Sache. Der erste Schritt ist die Karte manuell durchgeführt, wo jedes Stück von Daten in der neuen Struktur. So Ihr alten Tisch hatte vier Felder, in Ihrer neuen Struktur fileds1 und 2 gehen Sie zu Tabelle a und Feld drei und vier gehen Sie zu Tabelle b, aber Sie müssen auch die automatisch generierte id aus der Tabelle ein. Machen Sie sich Notizen, wie und wo Daten-Typen haben sich geändert, und Sie müssen, um Anpassungen vorzunehmen oder, wo Sie benötigt fileds, wo die Daten war nicht erforderlich, vor etc.
Was ich normalerweise tun ist erstellen Sie die staging-Tabellen. Legen Sie die Daten in den denormalisierten form in eine staging-Tabelle und verschieben Sie dann normalisiert staging-Tabellen und machen das sauber da oben, und fügen Sie die neuen ids, sobald Sie Sie haben, um die staging-Tabellen. Eine Sache, die Sie tun müssen, wenn Sie sich bewegen, aus einer denormalisierten Datenbank, um eine normalisiert ist, dass Sie brauchen, um zu beseitigen Sie Duplikate aus den übergeordneten Tabellen vor dem einfügen in die eigentliche Produktion Tabellen. Sie können auch tun müssen, dataclean bis wie kann es erforderlich sein fileds in die neue Struktur, die nicht erforderlich waren, die in der alten-oder Daten-Konvertierung Probleme, weil der Umzug in eine bessere Datentypen (zum Beispiel, wenn Sie die gespeicherten Daten in der alten Datenbank in varchar-Felder, aber richtig bewegen zu datetime in die neue db haben, müssen Sie möglicherweise einige Datensätze, die nicht über gültige Daten.
Anderen Frage, die Sie brauchen, um darüber nachzudenken, wie Sie die Konvertierung aus dem alten Datensatz-ids zu den neuen.
Dies ist nicht eine einfache Aufgabe, aber es ist machbar, wenn Sie sich Zeit nehmen und arbeiten methodisch. Jetzt ist nicht die Zeit, um zu versuchen, Verknüpfungen.
InformationsquelleAutor HLGEM
Was Sie brauchen, ist ein ETL (extract, transform, load) - tool.
http://en.wikipedia.org/wiki/Extract,_transform,_load#Tools
InformationsquelleAutor Kenneth Cochran
Ich weiß wirklich nicht, wie weit ein 'ETL' tool erhalten Sie abhängig von der ursprünglichen und der neuen Datenbank-designs. In meiner Karriere habe ich mehr zu tun, als ein paar Daten-Migrationen und wir sonst immer hatten, um zu entwerfen ein spezielles Programm, das aktualisiert werden würde, eine frische Datenbank mit Datensätzen aus der alten Datenbank, und ja, wir kodiert es komplett mit alle update/insert-Anweisungen für die Transformation von Daten.
Ich weiß nicht, wie viele Tabellen Ihrer Datenbank hat, aber wenn Sie nicht allzu viele, dann könnten Sie erwägen, gehen den grunt root. Das ist eine Technik, die garantiert, um zu arbeiten, nachdem alle.
InformationsquelleAutor Cyril Gupta
Wenn Sie gehen, um Ihre Datenbank in SSMS und mit der rechten Maustaste, unter "Aufgaben" sollte eine option für "Daten Importieren". Sie können versuchen, zu verwenden. Es ist eigentlich nur ein Assistent, der erstellt ein SSIS-Paket für Sie, was kann Sie dann entweder automatisch oder die Sie können speichern und dann ändern, wie gebraucht.
Die große Frage ist, wie müssen Sie die Daten transformieren. Dieser geht in eine Menge von Einzelheiten, die Ihnen nicht gehören (und die sind wohl zu zahlreich für Sie hier sowieso).
Ich bin mir sicher, dass SSIS verarbeiten kann, was auch immer Transformationen, die Sie tun müssen, um es zu ändern aus dem alten format in das neue. Eine alternative allerdings wäre, nur importieren Sie die Tabellen in MS SQL ist in staging-Tabellen, dann verwenden Sie den SQL-code für die Transformation der Daten in die 3NF-Tabellen. Es ist alles eine Frage, was Ihr am bequemsten mit. Wenn Sie gehen, die zweite route, die dann den import-Prozess, die ich oben erwähnt SSMS verwendet werden könnten. Es wird sogar die Ziel-Tabellen für Sie. Nur sicher sein, dass Sie Ihnen eindeutige Namen, vielleicht ein Präfix mit "STG_" oder so etwas.
Davud erwähnt verknüpften Servern. Das ist definitiv ein anderer Weg, den Sie gehen können (und habe mein upvote). Ich persönlich bevorzuge das kopieren der Tabellen in MS SQL erste seit Verbindungsserver können manchmal Verrücktheit, vor allem, wenn es um Datentypen, die keine Zuordnung zwischen den verschiedenen Anbietern. Nachdem alle Tabellen in MS SQL wird wohl auch etwas schneller und spart Zeit, wenn Sie erneut oder korrigieren Sie Teile der Daten. Wie ich sagte, obwohl, wird der verknüpfte server-Methode würde wahrscheinlich auch in Ordnung sein.
InformationsquelleAutor Tom H
Ich dies getan haben, gehen in die andere Richtung und SSIS-funktioniert gut, auch wenn ich vielleicht gebraucht haben, verwenden Sie ein Skript Aufgabe zu bewältigen leichte Datentyp Verrücktheit. SSIS ETL tut.
InformationsquelleAutor Andy West