Wiederherstellen einer Sicherung auf einer älteren Version von SQL Server

29

Beim Versuch, eine Sicherung in einer SQL Server Express 2008- Datenbank wiederherzustellen, wurde folgende Fehlermeldung angezeigt:

Restore failed for Server '...\SQLEXPRESS'.  (Microsoft.SqlServer.SmoExtended)
System.Data.SqlClient.SqlError: The database was backed up on a server running version
10.50.1600. 
That version is incompatible with this server, which is running version 10.00.2531. 
Either restore the database on a server that supports the backup, or use a backup 
that is compatible with this server. (Microsoft.SqlServer.Smo)

Gibt es eine Möglichkeit, eine mit der älteren Version (in meinem Fall 10.00.2531) kompatible Sicherung von der neueren Version (in meinem Fall 10.50.1600) von SQL Server Express zu erhalten?

rem
quelle

Antworten:

19

Sie müssten die Import / Export-Assistenten in SSMS verwenden, um alles zu migrieren

Es ist kein "Downgrade" mit Backup / Restore oder Detach / Attach möglich

gbn
quelle
8

Mit dem Import / Export-Assistenten können Sie Daten zwischen Datenbanken verschieben.

Klicken Sie mit der rechten Maustaste auf die zu exportierende Datenbank, wählen Sie "Aufgaben" und dann "Daten exportieren". Der Assistent führt Sie durch den Vorgang.

Du hast aber recht. Sie können keine Sicherung / Wiederherstellung von SQL Server 2008 R2 auf SQL Server 2008 Express durchführen.

Richard
quelle
6

Die einzige Möglichkeit besteht darin, eine neue Datenbank mit der Version 10.00.2531 zu erstellen und die Daten von 10.50.1600 zu importieren.

Sie können keine ältere Version wiederherstellen.

SQLRockstar
quelle
6

Die SQL Server-Sicherung unterstützt keine Abwärtskompatibilität

Schritte, um DB auf ältere Versionen zu bekommen -

  • Für Schema: Klicken Sie mit der rechten Maustaste auf Ihre Datenbank -> Aufgaben -> Skripte generieren -> Weiter -> Weiter -> klicken Sie auf die Schaltfläche Erweitert -> ändern Sie die Option "Typ der Daten zu Skript" zu "Schema" - -> ok -> weiter -> weiter

  • Für Daten: Klicken Sie mit der rechten Maustaste auf Ihre Datenbank -> Aufgaben -> Skripte generieren -> Weiter -> Weiter -> klicken Sie auf die Schaltfläche Erweitert -> ändern Sie die Option "Typ der Daten in Skript" in "Daten" - -> ok -> weiter -> weiter

dsingh
quelle
Ein Problem bei dieser Methode besteht darin, dass das Wiederherstellen von Skripts für große Datenbanken (viele Tabellen und große Datenmengen) viel Zeit in Anspruch nimmt. Aber es ist praktisch und einfach
Iman
2

Klicken Sie mit der rechten Maustaste auf Ihre Datenbank -> Aufgaben -> Skripte erstellen -> Weiter -> Weiter -> Klicken Sie auf die Schaltfläche Erweitert -> Ändern Sie die Option "Datentyp in Skript" in "Schema und Daten". > ok -> next -> next jetzt hast du ein script, das die datenbank und ihre tabelle erstellt und die daten darin füllt :);)

Sarah
quelle
2
Abhängig von der Datenmenge kann dieses Skript enorm sein ...
Thomas Rushton
1
@ThomasRushton Dieses Skript wird per Definition größer sein als die Datenbank selbst, wahrscheinlich um mindestens das Doppelte, wenn nicht noch schlimmer! Ich hoffe, es ist keine 50-GB-Datenbank ...
ErikE
Dies ist eine duplizierte Antwort
Burgi
Dies ist keine doppelte Antwort, es ist eine großartige Antwort, da der Datentyp "Schema UND Daten" ist! ;-) was ich brauchte!
JuFo
1
@ Burgi diese Antwort ist älter als Dsinghs. Er kopierte einfach Sarahs und fügte zwei Optionen hinzu, eine für das Schema und die andere für die Daten. Sein ist das Duplikat.
basher