Zum Inhalt wechseln


Foto

Datenbank kopieren, copy als neue DB einfügen


  • Bitte melde dich an um zu Antworten
10 Antworten in diesem Thema

#1 Nerospeed

Nerospeed

    Newbie

  • 34 Beiträge

 

Geschrieben 13. September 2010 - 16:12

Hallo Leute,

ich soll in der Firma von einer Datenbank eine Kopie machen und die dann als neue Datenbank (unter anderen Namen) wieder einfügen.

Das System:
Windows Server 2003 R2 Standard
SQLExpress 2008 R2
SQL Server Management Studio

Also im Objekt Explorer gibt es unter "Datenbanken" die Datenbank "Azubis" und unter Azubis dann Tabellen, Sichten ....
Die DB Azubis soll ich nun Kopieren und unter "Praktikum" einfügen (inkl. aller bisherigen Daten).
Also die Praktikanten sollen mit einen Programm arbeiten was auch die Azubis haben, nur sollen sie halt eine eigene DB bekommen.
Wie kann ich da vorgehen. Habe leider bis dato noch nie mit SQLExpress gearbeitet, kenne mich nur mit MySQL aus.

Danke

#2 Sunny61

Sunny61

    Expert Member

  • 22.238 Beiträge

 

Geschrieben 13. September 2010 - 16:24

Erstell dir eine Datenbank mit dem Namen Praktikum. Inhalt ist egal. Jetzt einen Rechtsklick auf die neu erstellte Datenbank > Tasks > Wiederherstellen. Bis zur Sicherung der Datenbank Azubis durchhangeln und auswählen. Der Rest ist IMHO selbsterklärend.
Gruppenrichtlinien: http://www.gruppenrichtlinien.de/

#3 Nerospeed

Nerospeed

    Newbie

  • 34 Beiträge

 

Geschrieben 13. September 2010 - 16:33

Super das hört sich ja gut an Danke :)

Also habe die DB erstellt (einfach auf Datenbanken und dann neu). Wenn ich nun mit rechtsklick und dann --> Tasks --> Wiederherstellen --> Datenbank wähle geht ein Fenster auf in dem ich dann die Ziel DB wähle also Praktikanten und unter Quelle "Aus Datenbank Azubis"

Durch diesen Ablauf wird aber die Datenbank Azubis nicht verändert oder? Wird die Datenbank für den Zeitraum der "Wiederherstellung" angehalten so das man damit nicht arbeiten kann?

Sind halt wichtige dinge für mich, nicht das nachher nix mehr geht :) naja Backups gibt es alle 30min aber man muss es ja nicht drauf anlegen :)

#4 Sunny61

Sunny61

    Expert Member

  • 22.238 Beiträge

 

Geschrieben 13. September 2010 - 17:03

Super das hört sich ja gut an Danke :)


Ist es auch. ;)

Also habe die DB erstellt (einfach auf Datenbanken und dann neu). Wenn ich nun mit rechtsklick und dann --> Tasks --> Wiederherstellen --> Datenbank wähle geht ein Fenster auf in dem ich dann die Ziel DB wähle also Praktikanten und unter Quelle "Aus Datenbank Azubis"


Richtig, wenn Du eine Datensicherung der DB Azubis hast, kannst Du ja auch das Medium angeben.

Durch diesen Ablauf wird aber die Datenbank Azubis nicht verändert oder? Wird die Datenbank für den Zeitraum der "Wiederherstellung" angehalten so das man damit nicht arbeiten kann?


Nein, passiert normalerweise nichts. Auch den Punkt des anhalten kannst Du in den Einstellungen angeben, auswendig weiß ich das grade nicht.

Sind halt wichtige dinge für mich, nicht das nachher nix mehr geht :) naja Backups gibt es alle 30min aber man muss es ja nicht drauf anlegen :)


Das Backup alle 30 Minuten wird aber nur das Transaktionsprotokoll sein, ein Fullbackup wird es wohl nur Nachts geben.
Gruppenrichtlinien: http://www.gruppenrichtlinien.de/

#5 Nerospeed

Nerospeed

    Newbie

  • 34 Beiträge

 

Geschrieben 13. September 2010 - 17:17

Super vielen dank für deine Hilfe, werde das morgen gleich mal machen.

Also die Backups laufen alle 60min. Dafür wird eine bat Datei ausgeführt und ein SQL Dump erzeugt.

Folgender Code macht das

start /wait SQLCMD -E -S ServerDaten\Datenbank -i und der Pfad zum Speicherort.

Danke

Gruß Nerospeed

#6 Sunny61

Sunny61

    Expert Member

  • 22.238 Beiträge

 

Geschrieben 13. September 2010 - 17:58

Super vielen dank für deine Hilfe, werde das morgen gleich mal machen.


Viel Erfolg. ;)

Also die Backups laufen alle 60min. Dafür wird eine bat Datei ausgeführt und ein SQL Dump erzeugt.

Folgender Code macht das

start /wait SQLCMD -E -S ServerDaten\Datenbank -i und der Pfad zum Speicherort.


Wenn Du es gleich nach der Sicherung machst, sollte am wenigsten passieren. ;)
Gruppenrichtlinien: http://www.gruppenrichtlinien.de/

#7 Nerospeed

Nerospeed

    Newbie

  • 34 Beiträge

 

Geschrieben 14. September 2010 - 10:25

Hi, so habe einen Versuch gestartet, leider ohne Erfolg.

Bei der Sicherung handelt es sich um ein Vollbackup.

Habe also die Datenbank Pratikanten erstellt. Bin dann auf Tasks und wiederherstellen --> Datenbank gegangen. "In Datenbank" habe ich Praktikanten bei "Aus Datenbank" habe ich Azubis. Dann wähle ich das letzte Backup aus und drücke auf "ok".

Dann bekomme ich einen Fehler
Eingefügtes Bild

Ist auch denke ich klar, da er die ganze Datenbank wohl sichert und nicht nur die Daten der DB - oder?

Gruss
Danke

Gruß Nerospeed

#8 Sunny61

Sunny61

    Expert Member

  • 22.238 Beiträge

 

Geschrieben 14. September 2010 - 10:43

Bei der Sicherung handelt es sich um ein Vollbackup.


Eine *.bak-Datei?

Habe also die Datenbank Pratikanten erstellt. Bin dann auf Tasks und wiederherstellen --> Datenbank gegangen. "In Datenbank" habe ich Praktikanten bei "Aus Datenbank" habe ich Azubis. Dann wähle ich das letzte Backup aus und drücke auf "ok".


Neue DB erstellen, Rechtsklick auf die neue DB > Tasks > Wiederherstellen > Datenbank > Ziel für die Wiederherstellung (neue DB muß eingetragen sein) > Quelle > Von Medium auswählen > Sicherungsmedium Datei auswählen und jetzt zur *.BAK durchhangeln. Wenn die DB im Fenster angezeigt wird, den Haken bei Wiederherstellen setzen und in den Optionen den Haken setzen bei [X] Vorhandene Datenbank überschreiben. OK klicken und nach 2 Minuten sollte alles erledigt sein. Ich hab das jetzt extra so im Test nachgestellt, hat einwandfrei funktioniert.
Gruppenrichtlinien: http://www.gruppenrichtlinien.de/

#9 Greg

Greg

    Board Veteran

  • 1.046 Beiträge

 

Geschrieben 14. September 2010 - 11:17

Hallo Nerospeed

Ich würde hier einen anderen Restore-Weg wählen:

Zuerst: Die neu erstellte Datenbank wieder Löschen (Achtung, die richtige löschen :-) )

Im Management Studio Rechtsklick auf "Databases"
--> Tasks --> Restore --> Database

im erscheinenden Fenster unter "From Database" die Quelldatenbank auswählen. Danach oben unter "To database" den gewünschten Datenbanknamen der Zieldatenbank eingeben (Kann direkt reingeschrieben werden).

Danach noch im Bereich Options die Pfade kontrollieren und dann auf OK klicken.

Funktioniert bei mir bestens.

PS: Ich bin von einer englischen Version ausgegangen. Wenn du eine deutsche Version hast sind die Bezeichnungen leicht anderst.

Gruss Greg

#10 Greg

Greg

    Board Veteran

  • 1.046 Beiträge

 

Geschrieben 14. September 2010 - 11:30

Hall

Hier noch der Unterschied der beiden Wege als Scriptbeispiel:

Meine DB heisst Test und wird nach Test123 "kopiert" ...

-- mit vorerstellter DB
RESTORE DATABASE [Test123]
FROM DISK = N'E:\Backup\SPS1\Test\Test_fullbackup_201009132000_2.BAK'
WITH FILE = 1,
NOUNLOAD,
REPLACE,
STATS = 10
GO

-- ohne vorerstellter DB
RESTORE DATABASE [Test123]
FROM DISK = N'E:\Backup\SPS1\Test\Test_fullbackup_201009132000_2.BAK',
DISK = N'E:\Backup\SPS1\Test\Test_fullbackup_201009132000_1.BAK'
WITH FILE = 1,
MOVE N'Test'
TO N'D:\Data01\SPS1\Test123.mdf',
MOVE N'Test_log'
TO N'D:\Log01\SPS1\Test123_1.LDF',
NORECOVERY,
STATS = 10
GO

Gruss Gregory

#11 Nerospeed

Nerospeed

    Newbie

  • 34 Beiträge

 

Geschrieben 27. September 2010 - 06:54

Guten Morgen,

also beide Versionen haben super geklappt. Die Datenbank ist da und nix ging verloren :)

Wichtig ist halt das der Pfad unter Optionen, bei einer Wiederherstellung in eine neue DB, geändert wird.

Danke :)

Gruß Nero
Danke

Gruß Nerospeed