Gibt es eine Möglichkeit, eine SQL Server 2012-Datenbanksicherung auf einem SQL Server 2008 wiederherzustellen?
Ich habe versucht, eine Datei anzuhängen, sie funktioniert nicht.
sql-server
sql-server-2008
sql-server-2012
Aaron Bertrand
quelle
quelle
Antworten:
Sie haben mehrere Möglichkeiten:
Option A : Datenbank im Kompatibilitätsmodus mit der Option "Skript generieren" ausschreiben:
Hinweis: Wenn Sie eine Datenbank mit Schema und Daten aus dem Skript entfernen, ist das Skript abhängig von Ihrer Datengröße umfangreich und wird von SSMS, sqlcmd oder osql nicht verarbeitet (möglicherweise auch in GB).
Option B:
Schreiben Sie zuerst Tabellen mit allen Indizes, FKs usw. aus und erstellen Sie leere Tabellen in der Zieldatenbank - Option mit NUR SCHEMA (keine Daten).
Verwenden Sie BCP, um Daten einzufügen
bcp die Daten unter Verwendung des folgenden Skripts aus. Setzen Sie SSMS in den Textmodus und kopieren Sie die vom unten stehenden Skript erzeugte Ausgabe in eine bat-Datei.
Führen Sie die bat-Datei aus, die die DAT-Dateien in dem von Ihnen angegebenen Ordner generiert.
Führen Sie das folgende Skript auf dem Zielserver mit SSMS erneut im Textmodus aus.
Führen Sie die Ausgabe mit SSMS aus, um Daten wieder in die Tabellen einzufügen.
Dies ist eine sehr schnelle bcp-Methode, da sie den einheitlichen Modus verwendet.
quelle
Some SSIDs and linked servers didn't go across properly
. Verbindungsserver müssen manuell geskriptet werden. SSIDs können mit sp_helprevlogin übertragen werden. SQLAgent-Jobs, ssis-Pakete usw. sollten gemäß Ihren Anforderungen verschoben werden. Bei dieser Methode geht es darum, die Daten so schnell wie möglich abzurufen, wenn Sie zwei Datenbanken downgraden oder zusammenführen.Nein, Sie können nicht rückwärts, sondern nur vorwärts gehen. Sie können eine leere Datenbank in 2008 erstellen und dann den Assistenten zum Generieren von Skripten in Management Studio verwenden, um das Schema und die Daten (oder Vergleichstools von Drittanbietern von Red Gate und anderen) zu skripten. Stellen Sie sicher, dass Sie die richtige Zielversion als 2008 festgelegt haben, und Sie müssen inkompatible Elemente (z. B. OFFSET oder FORMAT) ausarbeiten, die Sie möglicherweise 2012 verwendet haben.
quelle
Es gibt keine unterstützte Möglichkeit, dies zu tun, da SQL Server diese Art von Kompatibilität nicht zulässt.
Was Sie tun können, ist zu
Datenbank unter SQL 2012 wiederherstellen
Generieren Sie Skripte für Objekte und Daten
Wenn Sie nicht über SQL Server 2012 verfügen, können Sie Sicherungskopien mit Tools von Drittanbietern lesen und Daten und Strukturen extrahieren.
In diesem Fall erstellen Sie einfach eine leere Datenbank in SQL 2008 und verwenden Tools wie ApexSQL Diff und ApexSQL Data Diff , um Objekte und Daten zu synchronisieren. Sie können diese auch von anderen großen Anbietern wie Red-Gate oder Idera finden.
quelle