Benutzer mit den meisten Antworten
Restore Database bei unterschiedlichen Versionen?, Restore von Script ?

Frage
-
Hallo zusammen,
ich habe einen SQL Express Server 2008 R2 Version mit Version 10.50.1600, Ich habe von einer DB ein backup gemacht.
Nun will ich dieses Backup über Restore Database bei einem Kollegen einspielen. Der hat aber die SQL Server version 2008 10.0.2531
Das Restore schlägt fehl weil die Versionen nicht passen.
Was kann man hier tun?
Ich habe alternativ auch ein SQL Script von der DB gemacht. Kann man eine Datenbank auch mit diesem Script neu anlegen?
Entschuldigt bitte diese Anfänger Fragen, ich bin noch recht neu beim SQL Server und habe über google nichts gefunden.
Gruss
hans
Antworten
-
Hallo Hans,
wie ich schon schrieb, kannst Du im Wizard per Option festlegen, das auch die Daten als INSERT Statemenst mit ausgegeben werden, siehe Assistent zum Generieren und Veröffentlichen von Skripts (Seite "Erweiterte Skriptoptionen") => "Datentypen, für die ein Skript erstellt wird"
Optimal geht es mit dem bcp Tool, um die Daten zu ex- und wieder zu importieren.
Olaf Helper
* cogito ergo sum * errare humanum est * quote erat demonstrandum *
Wenn ich denke, ist das ein Fehler und das beweise ich täglich
Blog Xing- Als Antwort markiert hawk-master Donnerstag, 2. August 2012 12:24
Alle Antworten
-
Hallo Hans,
Du kannst weder Backups von neueren SQL Server Versionen auf älteren Restoren, noch die Datenbanken ab- und anhängen, das geht einfach nicht.
Du kannst den Script Generator aus SSMS nutzen, um sowohl die ganze Datenbank zu skripten als auch INSERT Statements für alle Daten erstellen lassen; die Datei wird dann halt etwas größer. Im Script Generator kannst Du in den Optionen die Version des Zielservers angeben, dann werden die Skripte entsprechend aufgebaut bzw. bekommst entsprechende Info, wenn Features oder neue Datentypen verwendet wurden, die von der Zielserver Version nicht unterstützt wird.
Olaf Helper
* cogito ergo sum * errare humanum est * quote erat demonstrandum *
Wenn ich denke, ist das ein Fehler und das beweise ich täglich
Blog Xing- Als Antwort vorgeschlagen Stefan FalzModerator Donnerstag, 2. August 2012 10:02
-
Am 02.08.2012 11:28, schrieb hawk-master:
Hallo zusammen,
ich habe einen SQL Express Server 2008 R2 Version mit Version 10.50.1600, Ich habe von einer DB ein backup gemacht.
Nun will ich dieses Backup über Restore Database bei einem Kollegen einspielen. Der hat aber die SQL Server version 2008 10.0.2531Du hast 2008 R2, er 2008 ... über so einen Versionswechsel hinweg kannst du keinen Restore machen. Frag deinen Kollegen ob er sich einen 2008 R2 Express installieren mag ...
Das Restore schlägt fehl weil die Versionen nicht passen.
Was kann man hier tun?
Ich habe alternativ auch ein SQL Script von der DB gemacht. Kann man eine Datenbank auch mit diesem Script neu anlegen?Ansonsten wird dir nichts anderes übrigbleiben, als die DB zu skripten.
Du hast dazu u.a. im SSMS die Möglichkeit:
Rechtsklick Datenbank -> Tasks -> Skripts generierenDu musst aber Skripts für Daten aktivieren.
Mit verschiedenen Vergleichstools, kannst du dir natürlich auch Skripte für Struktur und Daten erstellen lassen.
-
Hallo Olaf,
vielen Dank für deine Hilfe.
Eine Frage noch, Wenn ich ein Script auf meinem SQL Server erstelle dann ist das ohne Daten. Wenn ich das Script auf dem Kollegen SQL Server einspiele dann werden alle Tabellen angelegt aber keine Daten. Kann man solch ein Script auch mitsamt den Daten ertsellen?
vielen Dank
Gruss
Hans
-
Hallo Hans,
wenn Du sowas öfter mal benötigst, wäre es ggfs. überlegenswert, mit Red Gate SQL Compare und SQL Data Compare zu arbeiten. Damit lässt sich das größtenteils automatisieren, auch für Daten. Vorteil wäre, dass Du auch Aktualisierungen durchführen kannst, sowohl von der Struktur her als auch von den Daten.
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community -
Hallo Hans,
wie ich schon schrieb, kannst Du im Wizard per Option festlegen, das auch die Daten als INSERT Statemenst mit ausgegeben werden, siehe Assistent zum Generieren und Veröffentlichen von Skripts (Seite "Erweiterte Skriptoptionen") => "Datentypen, für die ein Skript erstellt wird"
Optimal geht es mit dem bcp Tool, um die Daten zu ex- und wieder zu importieren.
Olaf Helper
* cogito ergo sum * errare humanum est * quote erat demonstrandum *
Wenn ich denke, ist das ein Fehler und das beweise ich täglich
Blog Xing- Als Antwort markiert hawk-master Donnerstag, 2. August 2012 12:24
-
Am 02.08.2012 12:09, schrieb hawk-master:
Hallo
vielen Dank
Wo gibt es diese Option "Du musst aber Skripts für Daten aktivieren." ??Im Skript-Assistent auf der Seite "Optionen wählen" ... dort gibt es im unteren Bereich einen Abschnitt "Tabellen-/Sichtoptionen".
Dort findest du die Option "Skript für Daten erstellen" (bei mir der 2. Punkt), welche standardmäßig auf False steht. -
Hallo,
darf ich hier nochmals nachhaken? Ich habe das Ganze nämlich nun mal durchgespielt.
Ich möchte ja von einerm vorhandenen SQL Server 2008 Express eine Datenbank mitsamt allen Tabellen und Daten scripten um diese auf einem anderen PC (Server) zum Laufen zu bringen.Ich habe es so gemacht:
1. Datenbank ausgewählt, rechte Maustaste--Tasks--generate Scripts. Hier habe ich alle Tabellen ausgewählt.
Im Advanced" Bereich habe ich bei "Types of data to script" = "Schema and data" ausgewählt
Dann habe ich noch bei Script Indexes auf "True" gestellt.Damit wird ja aber die Datenbank an sich nicht erstellt. Daher bin ich nochmals auf die Datenbank-- Script Database as -- Create To" gewählt.
Auf dem Zielrechner habe ich dann dieses Create Database Script geladen, die Verzeichnispfade zu dem MDF und LDF File angepasst und dann ausgeführt.
Nachdem die DB erstellt war habe ich dann das im Step 1 erstellte Script ausgeführt.Was man halt dann noch zusätzlich machen müsste wären die Berechtigungen und der User wie Create Login und Create User.
Ist diese Vorgehensweise so ok oder gibt es eine bessere Lösung?
vielen Dank
Gruss
Hans
-
Was man halt dann noch zusätzlich machen müsste wären die Berechtigungen und der User wie Create Login und Create User.
Hallo Hans,
auch Logins & Berechtigungen kannst Du als Skript generieren lassen:
Olaf Helper
* cogito ergo sum * errare humanum est * quote erat demonstrandum *
Wenn ich denke, ist das ein Fehler und das beweise ich täglich
Blog Xing- Bearbeitet Olaf HelperMVP Dienstag, 7. August 2012 11:04 Bild falsch
-
eigentlich nur noch separat das Create Database machen?
Was 3 Wörter zu tippen sind, wenn die Default Settings ausreichend sind:
CREATE DATABASE [meineDatenbank];
Olaf Helper
* cogito ergo sum * errare humanum est * quote erat demonstrandum *
Wenn ich denke, ist das ein Fehler und das beweise ich täglich
Blog Xing