Laden...

SQL 2005 Express auf 2008 Express per Skript migirieren

Erstellt von Cornflake vor 9 Jahren Letzter Beitrag vor 9 Jahren 1.691 Views
C
Cornflake Themenstarter:in
142 Beiträge seit 2007
vor 9 Jahren
SQL 2005 Express auf 2008 Express per Skript migirieren

verwendetes Datenbanksystem: MSSQL 2005 / 2008 Express

Hallo Leute

Ich habe vor mit einer Skriptdatei von einer MS SQL 2005 Express Datenbankengine bzw. DBMS auf MS SQL 2008 Express upzugraden bzw zu migirieren. Im Forum habe ich per Suche dazu noch nichts gefunden.

Von Hand stelle ich mir den Weg wie folgt vor:
Alte Datenbankdatei TEST.mdf trennen.
Danach alte 2005 Express Engine mit dem Namen TESTENGINE deinstallieren.
Dann neue 2008 Express Engine mit gleichem Namen TESTENGINE zu installieren.
Abschließend die TEST.mdf wieder an die neue 2008 SQL Engine anzudocken.

Gibts da händisch nen schnelleren Weg? bzw.
Ich bräuchte eine Lösung, die ich in eine Upgrade.sql Datei schreiben könnte und per Batch Datei und osql.exe ausführen könnte.

Habe jetzt von Hand einiges getestet, das dauert aber ewig.

Grüße Cornflake

T
2.224 Beiträge seit 2008
vor 9 Jahren

Mach ein Backup der DB in eine SQL Datei und schieb die im Idealfall 1:1 in den neuen DB Server.
Ggf. musst du schauen ob die SQL Datei noch angepasst werden muss, sollte aber auch so klappen.

Direkt die Daten Dateien zu migrieren ist eher ein Problem, da diese ggf. inkompatibel sein können zwischen unterschiedlichen DB Versionen.
Ansonsten google mal nach Migration MS SQL 2005 zu 2008.
Eigentlich sollte es auch mit der Express Version keine Probleme geben.

T-Virus

Developer, Developer, Developer, Developer....

99 little bugs in the code, 99 little bugs. Take one down, patch it around, 117 little bugs in the code.

3.511 Beiträge seit 2005
vor 9 Jahren

Hi,

das komplett einfachste wird wohl sein, ein Backup der DB zu ziehen und diese dann in der 2008er Instanz wiederherzustellen. Das klappt soweit immer (gibt ein paar Ausnahmen, aber die dürften beim Express wegfallen). Danach ist der Kompatibilitätslevel der DB noch auf 2005. Diesen dann auf 2008 ändern und fertig. Wenn irgendwelche Dinge inkompatibel sind, wird er das spätestens dann sagen.

Anderer Weg ist es, ein Update der gesamten Instanz durch das Setup auszuführen. Dann werden alle in der Instanz enthaltenen Datenbanken auf 2008 umgestellt. Bei den DBs, wo er das nicht schafft, lässt er den Kompatibilitätslevel auf 2005 stehen.

Den Weg über ein kompletten SQL Dump muss man eigentlich nie gehen.

Über ein SQL Script, welches über osql ausgeführt wird, bräuchtest du beide Instanzen am laufen. Innerhalb des SQL Scriptes, kannst du ja schlecht neue Instanzen aufsetzen 😃. Aber dann sollte es auch kein Problem sein.

Direkt die Daten Dateien zu migrieren ist eher ein Problem, da diese ggf. inkompatibel sein können zwischen unterschiedlichen DB Versionen.

Ist eher ein Problem von Oracle als von MS SQL. MS SQL ist sehr abwärtskompatibel. Das wird halt über die Kompatibilitätslevel der DBs gesteuert. Man kann ein einer SQL Server 2012 eine DB mit Level 2005 laufen lassen und die DB "merkt" noch nicht mal, dass es auf 2012 läuft. Je nach Level werden die Features erst freigegeben. Wobei ich hier zugeben muss, dass ich nicht weiß wie es unter dem Express aussieht.

"Jedes Ding hat drei Seiten, eine positive, eine negative und eine komische." (Karl Valentin)

F
10.010 Beiträge seit 2004
vor 9 Jahren

@Cornflake:
Warum so kompliziert?

Beim installieren der 2008 Instanz wirst du gefragt ob du eine alte Version ersetzen willst.

C
Cornflake Themenstarter:in
142 Beiträge seit 2007
vor 9 Jahren
Thx, habe jetzt Backup erstellt und eingespielt

Danke Leute

habe jetzt 2005 Backup erstellt und das als 2008 update eingespielt.