andinistrator1
Goto Top

SQL Server 2012 Express Datenbank wiederherstellen bzw. duplizieren

Hallo zusammen,

unter SQL 2008 war es mir noch klar, mit 2012 scheint es anders zu gehen... .

Ich möchte eine DB duplizieren, d.h. ein Backup wiederherstellen ohne die Original-DB zu ändern (für Testsystem).

Dazu habe ich eine DB über SQL-Studio in einem anderen Ordner erstellt, hier habe ich "jeden" berechtigt, da ich zuvor Zugriffsbeschwerden hatte, obwohl ich als Administrator ausführe.

Beim Wiederherstellen habe ich den Fehler:

Fehler bei der Wiederherstellung von Datenbank 'MEINE_DB'. (Microsoft.SqlServer.Management.RelationalEngineTasks)
System.Data.SqlClient.SqlError: Der Sicherungssatz enthält die Sicherung einer anderen Datenbank als der vorhandenen EINE_DB-Datenbank. (Microsoft.SqlServer.SmoExtended)


Ich komme hier nicht weiter. Was hatte ich gemacht. Im SQL Assistent hatte ich:

Allgemein
- Medium gewählt
- Ziel-DB gewählt
- Haken bei Wiederherstellen

Dateien
- Haken bei "Alle Dateien in Ordner verschieben"
- mein neuen Pfad gewählt
- Logische Dateien im Pfad, d.h. die neu erstellte DB + LOG gewählt

Optionen
- Haken bei "Vorhandene Datenbank überschreiben"


Bei 2008 ging es noch einfach, kann mir jemand weiterhelfen?

Vielen Dank vorab!

Content-Key: 281072

Url: https://administrator.de/contentid/281072

Printed on: April 24, 2024 at 03:04 o'clock

Member: wiesi200
wiesi200 Aug 25, 2015 at 07:31:47 (UTC)
Goto Top
Hallo,

grundsätzlich geht das mit dem 2012er genau so wie mit dem 2008er.
Lauf Fehlermeldung würd ich sagen das 'MEINE_DB' schon auf dem 2012er existiert und da irgendwas nicht zusammen passt.
Somit lösch erst mal die was schon auf dem 2012er drauf ist und probiere es dann noch ein mal.
Member: Andinistrator1
Andinistrator1 Aug 25, 2015 at 08:58:22 (UTC)
Goto Top
Zuerst habe ich eine leere DB erstellt, damit auch zwei Dateien:
*.mdf
*.log.ldf

Diese habe ich beim Wiederherstellen gewählt, d.h. ich hab gewählt hier die ist Zie-DB und jeweils beide Ziel-Dateien gewählt. Wenn ich diese Lösche würde ich ja leere Ziel-DB löschen.

Ich habe quasi eine Orinal DB ('ORIGINAL_DB') und eine Test-DB ('MEINE_DB'). Ich möchte die Orgininal-DB in die Test-DB kopieren. Dann kommt der Fehler:

"Der Sicherungssatz enthält die Sicherung einer anderen Datenbank als der vorhandenen MEINE_DB-Datenbank."

Ich würde darunter verstehen, die Sicherung 'ORIGINAL_DB' ist eine andere wie 'MEINE_DB'. Und während ich den Satz gerade schrieb fällt es mir wie Schuppen vor die Augen:

Es gibt einen Unterschied in der DB-Eigenschaften: der Kompatibilätsgrad! (muss natürlich gleich sein!)
Member: wiesi200
wiesi200 Aug 25, 2015 at 09:03:23 (UTC)
Goto Top
Zitat von @Andinistrator1:

Zuerst habe ich eine leere DB erstellt, damit auch zwei Dateien:
*.mdf
*.log.ldf

Und somit deckt sich auch die Fehlermeldung. Die Original DB deckt sich nicht mit der leeren von dir erstellten.
Mal abgesehen davon das der Schritt auch nicht notwendig ist.

Noch mal Leere DB löschen. Sicherung wieder zück spielen, DB wird automatisch erstellt und gut ist.
Member: Andinistrator1
Andinistrator1 Aug 25, 2015 at 12:52:02 (UTC)
Goto Top
Das kann ich nun nicht sagen, denke aber es wäre nicht richtig bzw. ist nicht die richtige Interpretation. Die neue DB wurde extra dafür erstellt - leer. Und diese ist notwendig. Es ging nicht darum, dass es die Datenbank schon gab, sondern das der "Sicherungssatz" einer anderen Datenbank entspricht, z.B. im Format 2008 und nicht 2012.
Member: wiesi200
wiesi200 Aug 25, 2015 at 13:02:27 (UTC)
Goto Top
Mal ne einfache Frage, hast du's so probiert wie ich's geschrieben habe?

Und du kannst Problemlos eine 2008er Sicherung in einen 2012 einspielen nur umgekehrt nicht.
Member: Andinistrator1
Andinistrator1 Aug 26, 2015 at 05:06:34 (UTC)
Goto Top
Nein, ich glaube auch wir reden aneinander vorbei. 1x probier ich es noch.

Ich habe DB1 und möchte diese gern zweimal. Meine Schritte
- Sicherung DB1
- Erstellen DB2 (neu!)
- Einspielung Backup von DB1 in DB2

=> Ging nicht, beides war SWL2012 DBs
=> DB1 hatte im Kompatibiltätsgrad 2005 drin, d.h. auch die Backup-DB
=> DB2 musste also auch dementsprechend angepasst werden.
=> t kein Fehler, dass DB2 schon exisiert hatte.
Member: wiesi200
wiesi200 Aug 26, 2015 at 05:32:52 (UTC)
Goto Top
Zitat von @Andinistrator1:

Nein, ich glaube auch wir reden aneinander vorbei. 1x probier ich es noch.

Ich habe DB1 und möchte diese gern zweimal. Meine Schritte
- Sicherung DB1
- Erstellen DB2 (neu!)
- Einspielung Backup von DB1 in DB2

Nein wir reden nicht aneinander vorbei! Du liest einfach nicht was ich schreibe.
Schritt 2 Erstellen DB2 (neu!) ist falsch! Lösche DB 2 und mach Einspielung Backup.

Sprich im SQL Managemantstudio einen Rechtsklick auf Datenbanken und wiederherstellen.
DANN PASST ES.
Und Probierst endlich mal aus bevor du wieder gleich schreibst es funktioniert nicht.
Member: Andinistrator1
Andinistrator1 Aug 31, 2015 at 07:08:12 (UTC)
Goto Top
Wir reden definitiv aneinander vorbei ;). Ursache / Lösung ist oben genannt, Thema feddich.
Member: wiesi200
wiesi200 Aug 31, 2015 at 07:52:42 (UTC)
Goto Top
Wenn's jetzt funktioniert dann soll's mir auch egal sein.

Nur wenn du einfach das gemacht hättest so wie ich geschrieben. Dann währ die DB ohne Probleme wieder hergestellt worden.
Nur wenn du nicht willst, dann selber schuld.
Member: Andinistrator1
Andinistrator1 Aug 31, 2015 at 10:43:33 (UTC)
Goto Top
Es geht nicht um "nicht wollen" sondern darum, dass die Ursache gefunden, das Problem verstanden, und die Lösung erkannt wurde - wie ich beschrieben hatte.

Es muss keine DB gelöscht werden, ich möchte auch kein Backup wiederherstellen. Ich möchte die DB duplizieren - in einen zweite DB. Dazu ist es lediglich notwendig, eine DB manuell zu erstellen, selbstverständlich unter einem anderen Namen. Was ich zuerst nicht beachtet hatte, dass diese im Standard mit Kompatibilätsgrad 2012 erstellt wird. Diesen hatte ich in DB2 geändert, so dass beide gleich sind.

=> nix löschen, nix backup, Ursache war der Kompatibilätsgrad
Member: wiesi200
wiesi200 Aug 31, 2015 at 10:57:01 (UTC)
Goto Top
Und noch mal wenn du von Grund auf keine leere Datenbank erstellt hättest sondern einfach nur auf DB wiederherstellen, wo man auch nen neuen Namen aussuchen kann hättest du von Grund auf kein Problem gehabt.

Das währe genau so gegangen.
Member: Andinistrator1
Andinistrator1 Sep 01, 2015 at 12:30:11 (UTC)
Goto Top
Mit Sicherheit ;)