Datenbankdateien, die mit SQL 2008 erstellt wurden, sind nicht mit 2005 kompatibel. Gibt es eine Problemumgehung?
Keine Tools von Drittanbietern erforderlich. SQL Server 2008 Management Studio bot uns ein sehr leistungsfähiges Tool zum Herunterkonvertieren einer Datenbank, da dem Assistenten "Skriptdatenbank" die Option "Skriptdaten" hinzugefügt wurde.
Klicken Sie einfach mit der rechten Maustaste auf die Datenbank in SQL2008 SSMS, gehen Sie zu Aufgaben und dann zu "Skripte generieren".
Gehen Sie durch den Assistenten und stellen Sie sicher, dass Sie unter "Tabellen-/Ansichtsoptionen" die Option "Wahr" für "Skriptdaten" auswählen. Wählen Sie alle Objekte aus und führen Sie das Skript aus, das auf dem 2005-Server erstellt wurde. (Bitte beachten Sie, dass das erstellte Skript massiv sein kann, wenn die ursprüngliche Datenbank sehr groß ist!)
Beachten Sie, dass Sie den Assistenten sogar auf einem SQL2005-Server ausführen können, um eine SQL2005-Datenbank in SQL2000 herunterzukonvertieren (Sie müssten natürlich die 2008-Tools auf Ihrer Workstation installieren).
Sie können die Daten von einer SQL Server-Instanz auf eine andere Instanz übertragen. Dies wäre der schnellste Weg, um die Daten von einer Version in eine andere zu kopieren. Je nach Datenvolumen kann dies lange dauern.
Es gibt leider keine direkte Möglichkeit, eine Datenbank vom Format 2008 auf das Format 2005 herunterzustufen.
Die Art und Weise, wie ich dies in der Vergangenheit getan habe (tatsächlich mit älteren Versionen von SQL Server, aber der Prozess wird der gleiche sein) ist:
INSERT destinationserver.destinationdb.schema.table SELECT * FROM sourcedb.schema.table
INSERT schema.table SELECT * FROM sourceserver.sourcedb.schema.table
wenn Sie die Instanzen so verknüpft haben)Es kann effizienter sein, die Daten zuerst zu kopieren und nach Schritt 3 alle anderen Strukturen (Indizes, Prozesse, Trigger, ...) hinzuzufügen. Dadurch werden Probleme beim Einfügen von Zeilen durch Einfügungen und Trigger vermieden und die Indizes am erstellt end sollte theoretisch schneller sein als das Erstellen, da alle Daten hinzugefügt werden. Wenn Sie jedoch Clustered-Indizes für Ihre Tabellen haben, erstellen Sie diese vor dem Hinzufügen der Daten, da sie nachträglich nicht schneller erstellt werden können.
Dies alles setzt natürlich voraus, dass keines Ihrer Objekte SQL 2008-spezifische Funktionen verwendet. Wenn dies der Fall ist, werden Sie diese Probleme hoffentlich herausfinden und beheben, wenn beim erneuten Erstellen des Schemas Fehler auftreten. Wenn einer Ihrer Codes auf offiziell undefiniertem Verhalten beruht, das sich zwischen den SQL Server-Versionen geändert hat, können einige subtilere und schwer fassbare Fehler auftreten, die später aufgespürt und behoben werden müssen.
Ich sah mich einer ähnlichen Situation gegenüber und verwendete Database Publishing Wizard, um Schema und Daten für SQL Server 2005 aus der SQL Server 2008-Datenbank zu skripten.
Sie müssen zuerst die Datenbank skripten und sicherstellen, dass Sie in der Version den Typ angeben, auf den Sie ein Downgrade durchführen möchten. Und wenn Sie die Daten von der höheren Version in die niedrigere Version kopieren, ist der SQL-Datenvergleich genau das Richtige für Sie.
Viel Glück!