Fragensteller
Datenbank von SQL 2008 R2 nach SQL 2008 kopieren?!

Frage
-
Hallo zusammen,
ich versuche gerade, eine Datenbank aus einem SQL Server 2008 R2 auf einen "alten" SQL Server 2008 zu kopieren. Leider scheitere ich an der Tatsache, dass eine in R2 gebackupte DB nicht einfach in die ältere SQL 2008 Version restored werden kann.
Gibt es eine Möglichkeit, ein Bakcup derart zu erstellen, dass ich es auch auf dem älteren System restoren kann?
Leider haben die beiden Server keine direkte Verbindung untereinander, daher fällt für mich ein Import/Export über das Netzwerk leider aus.
Vielen Dank für Eure Hilfe!
Thorsten
P.S.: Beide Server sind 64bit Enterprise-Editionen, falls das relevant sein sollte.
Alle Antworten
-
Hi Thorsten,
soweit ich das weiß, ist es nicht möglich, eine SQL 2K8 R2 DB auf einen SQL2K8 wieder herzustellen. Intern ist die Versionsnummer der DB ja schon höher. Der SQL Server 2K8 kann also nichts damit anfangen. Es gibt auch keinen Weg, das Backup zu "manipulieren". Wäre denn ggf ein Kopieren der Datenbank etwas? Also mit dem Copy Database Wizard die Daten übertragen? Natürlich nicht die detach/attach Methode.
Ich meine mich auch zu erinnern, dass man mit dem SSMS 2K8R2 eine DB inklusive Inhalt skripten lassen kann. Falls die DB nicht zu groß ist, könnte man so die Daten auf den 2008er Server bringen.
Oder halt nen Datentransfertask via SSIS oder bcp. Alles mit ein wenig Arbeit verbunden.
Gruß
Dirk
P.S.: Ich hab nicht genau gelesen. Die beiden Server haben keine verbindung untereinander. Dann fällt CDW weg und SSIS auf direktem Wege auch. Also Daten raw in Flat files pumpen und dann auf der anderen Seite wieder einlesen.- Bearbeitet Dirk Hondong Mittwoch, 28. September 2011 08:38
-
Hi Dirk,
danke für die schnelle Antwort!
In der Tat, ein Kopieren ist leider wegen fehlendem Netzwerk nicht möglich. Die Datenbanken sind auch meiner Ansicht nach zu groß (20-50GB), um sie per Skript kopieren/neu erstellen zu lassen zu lassen.
Gibt es nicht eine Möglichkeit über den Kompatibilitätsmodus etwas zu erreichen? Hatte das mal versucht und bin nicht wirklich weit gekommen -- aber kann auch daran liegen, dass ich einen Fehler irgendwo gemacht haben könnte.
Viele Grüße
Thorsten
-
Keine Ursache.
Übrigens:
Der Komp-Modus bringt an der Stelle leider auch nichts, da man hier eigentlich nur dem SQL Server sagt: "Tu´mal so, als ob das eine SQL 2005 oder SQL 2000 DB wäre". Intern hat aber, sobald eine DB auf einen 2K8 R2 eingehangen wurde, dennoch eine aktuelle Versionsnummer, wodurch die DB dann inkompatibel zu früheren Server-Versionen wird.
Der Komp Modus ist halt nur dafür da, alte SQL Syntax und Funktionen zu unterstützen (und die neuen Funktionen in dem Fall nicht, Bsp cross apply etc).
Gruß
Dirk
-
Kleine Anmerkung dazu:Der Kompatibilitätsmodus hilft nur alte Syntax und Funktionalität zuunterstützen. Neu eingeführte Funktionen sind trotzdem möglich.Beispiel (auf einem SQL Server 2005):<sql>USE [master]GOcreate database testgoEXEC dbo.sp_dbcmptlevel @dbname=N'test', @new_cmptlevel=70GOUse testgowith cteas(Select 1 as Zahl)Select *from cte;goselect compatibility_levelfrom sys.databaseswhere name = 'test';</sql>CTEs waren bei 7.0 definitiv noch nicht vorhanden!Einen schönen Tag noch,Christoph--Microsoft SQL Server MVPwww.insidesql.org/blogs/cmu
-
Hallo Thorsten,
falls du für die Erstellung der Scriptdateien (Schema + Daten) das Visual Studio verwendest, solltest du beim Einrichten der Datenbankverbindung über die Schaltfläche "Erweitert" das "Pooling" auf False setzen. Andernfalls läuft mansehr schnell in einen Timeout der das Erstellen der Scripte verhindert.
Mit freundlichen Grüßen,
Colin Groebel
zwei R software & consulting GmbH
-
Hallo Thorsten,
eine weitere möglichkeit wäre, auf dem Server auf dem der 2008R2 läuft zusätzlich eine 2008er Instanz zu installieren.
Dann über den Import-/Export-Assistenten die Datenbank vom 2008R2er in den 2008er zu migrieren. Da dieser Prozess dann komplett lokal läuft, wird kein Netzwerk benötigt.
Danach einfach ein Backup aus der 2008er DB ziehen, über (z.B.) eine externe HDD auf den anderen Server transferieren und dort importieren.
Gruß
Philipp