Wie verschiebe ich eine SQL Server 7-Datenbank nach SQL Server 2012?

8

Ich möchte eine Datenbank von SQL Server 7.0 auf SQL Server 2012 verschieben. Sie sind nicht für eine Sicherung und Wiederherstellung kompatibel. Gibt es eine Möglichkeit, aus SQL Server 7.0 zu exportieren und nach 2012 zu importieren? Ich brauche nur die Tabellen - keine Ansichten oder gespeicherten Prozeduren.

xpda
quelle
1
Funktioniert der Befehl zum Trennen / Anhängen nicht mit dem Anpassen der Kompatibilitätsstufe danach?
msi77

Antworten:

13

Lösung 1

Kopieren Sie die Daten mit einem ETL-Prozess. Dies setzt voraus, dass Sie eine SQL Server 7-Instanz haben, auf der mit der Datenbank zugegriffen werden kann. Sie haben mehrere Werkzeuge zur Verfügung, aber der einfachste Ansatz, den ich sehen konnte, ist:

  1. Skripten Sie alle SQL Server 7-Objekte aus und erstellen Sie sie in SQL Server 2012. Möglicherweise müssen Sie das Skript anpassen, wenn eine SQL Server 7-spezifische Syntax vorhanden ist.
  2. Verwenden Sie einen ETL-Prozess, um Daten zu kopieren. Einige Alternativen:

    • BCP - Verwenden Sie BCP, um jede Tabelle in eine RAW- oder Textdatei zu sichern, und laden Sie sie dann mit BCP in die SQL Server 2012-Objekte.
    • Import / Export-Assistent in SQL Server 2012 - Verwenden Sie den Import / Export-Assistenten, um Datenübertragungsaufgaben zu erstellen.
    • SSIS - Dies entspricht im Wesentlichen dem Import / Export-Assistenten, bietet jedoch mehr Funktionen.

Insgesamt kann dies ein langwieriger Prozess sein, aber Sie können Daten direkt von einer Datenbank in die andere kopieren. Wenn Sie die BCP-Route wählen, benötigen Sie Speicherplatz für die Speicherauszugsdateien, dies muss jedoch kein Datenbankspeicher sein.

Lösung 2

Aktualisieren Sie die Datenbank mithilfe eines Zwischenschritts des Upgrades auf SQL Server 2005. Dies setzt voraus, dass Sie Zugriff auf SQL Server 2005-Medien und einen Server haben, auf dem Sie sie bereitstellen können. SQL Server 7 kann nicht auf SQL Server 2008 aktualisiert werden, da dieser Aktualisierungspfad nicht unterstützt wird. Wenn Sie die Datenbank jedoch auf SQL Server 2005 wiederherstellen können, können Sie die SQL Server 2005-Version nacheinander sichern und auf SQL Server 2012 wiederherstellen.

Mike Fal
quelle
3
Ich würde Lösung 2 gegenüber Lösung 1
wärmstens
1
Das habe ich getan, außer SQL 7> 2000> 2008> 2012, weil ich 2005 nicht zur Verfügung hatte.
xpda
1
Ich stimme zu - Option 2 ist definitiv die beste Wahl - und sehen Sie sich diese Antwort an, um einige Vor- und Nachteile gegenüber Migration zu sehen - insbesondere bei so etwas. Und herzlichen Glückwunsch zum Aussteigen aus 7.0! ;-)
Mike Walsh