2016-09-26 3 views
0

Ich habe zwei Fragen Guid bezüglich SQL-Daten zu migrieren:Der beste Weg, Schritt ID zu migrieren und konvertieren

1. Migrate Zuwachs ID db1.table-db2.table (andere Datenbank)

Beispiel:

Mein Albtraum ist, wenn ich Daten für diese 3 Tabellen von einer Datenbank in eine andere Datenbank verschieben muss. Die ID in zwei Datenbanken ist nicht identisch.

Vorerst meine beste Praxis ist nach Guest und Room Tabellen migrieren, ich Excel mit Vlookup verwenden alle GuestId und RoomId in Tabelle Booking mit neuen ID und nach, dass die Migration alle diese geänderten Daten zu aktualisieren.

Frage: gibt es irgendwelche besseren Möglichkeiten, durch diesen Albtraum zu gehen?

Bitte beachten Sie, dass in diesem Beispiel nur drei Tabellen erwähnt, aber in meiner realen Situation, ist es nicht weniger als 5 Tabellen miteinander zu verbinden ...

2. Migrate von IncrementId Guid

Für neues Projektdesign verwende ich ein eindeutiges Guid anstelle der traditionellen Inkrement-ID für den Primärschlüssel der Tabelle.

Frage: Was ist die beste Vorgehensweise zum Migrieren alter SQL Server-Tabelle von inkrementierter ID zu Guid?

EDIT: Ich benutze SQL Server 2012 und kann sogar Entity Framework für den Zugriff auf meine Datenbank verwenden. So lange es helfen kann, sind SQL-Skript oder C# -Programmiercode beide nützlich

+0

@marc_s Danke für die Bearbeitung meiner Frage. Hast du einen Vorschlag zu meinem Problem? – Jacky

+0

anders als zu sagen: * tu das nicht! * - nein, sorry. Ich denke, GUIDs als PK in Ihren SQL Server-Tabellen sind eine schrecklich schlechte Idee - aber es scheint, dass Sie absolut verpflichtet sind, diesen Pfad zu gehen, also halte ich einfach die Klappe und lassen Sie Ihre eigenen Erfahrungen damit machen ... –

+0

Die erste Frage ist Client benötigt, so kann ich es nicht vermeiden. Aber für meine zweite Frage, ich lese Ihren Beitrag über GUID: http://StackOverflow.com/a/11938495/3133518. Danke trotzdem – Jacky

Antwort

0

Sie könnten der Zieldatenbank eine zusätzliche Spalte als Int ExternalID (oder ähnlich) hinzufügen und den ursprünglichen int-Bezeichner in diese Spalte kopieren. Ihr Migrationsprozess muss sich dann auf diese Spalte beziehen.

Verwandte Themen