Zum Inhalt wechseln


Foto

SQL Server 2012 Datenbank wiederherstellen

MS SQL

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

#16 Dukel

Dukel

    Board Veteran

  • 9.252 Beiträge

 

Geschrieben 18. Dezember 2013 - 13:57

Dann klick auf Datenbanken \ Wiederherstellen...


Stop making stupid people famous.


#17 McKloony

McKloony

    Newbie

  • 34 Beiträge

 

Geschrieben 18. Dezember 2013 - 14:27

Da kommt dasselbe Script bei raus:

 

USE [master]
RESTORE DATABASE [TestDB] FROM  DISK = N'D:\TestDB_Backup.bak' WITH  FILE = 1,  MOVE N'TestDB' TO N'd:\SQLDatenbank\TestDB.mdf',  MOVE N'TestDB_log' TO N'd:\SQLDatenbank\TestDB_log.ldf',  NOUNLOAD,  REPLACE,  STATS = 5
GO

Ohne dass man weiß, dass die OriginalDatenbank "Dummy" bzw. "Dummy_Log" heiß, kann das Script niemals erfolgreich ausgeführt werden. Beim SQL Server 2008 war das anders, der hat diese Information nicht abgefragt.



#18 Dukel

Dukel

    Board Veteran

  • 9.252 Beiträge

 

Geschrieben 18. Dezember 2013 - 14:33

Dann lösch doch die TestDB und restore dein Backup.


Stop making stupid people famous.


#19 McKloony

McKloony

    Newbie

  • 34 Beiträge

 

Geschrieben 18. Dezember 2013 - 14:54

Kapier ich nicht. Es geht darum, eine fremde SQL Datenbank, von der man nicht weiß, welcher Datenbankname im Sicherungssatz enthalten ist wiederherzustellen, sonst nichts. Dazu muss für SQL Server 2012 erst umständlich ermittelt werden, wie die Namen für mdf und die ldf Datei lauten, sonst geht es nicht. 



#20 Dukel

Dukel

    Board Veteran

  • 9.252 Beiträge

 

Geschrieben 18. Dezember 2013 - 15:33

Du willst eine vorhandene DB mit einer anderen Sicherung zurück spielen.

Wenn du keine DB hast und dein Backup in eine neue DB einspielst wird es funktionieren.

 

Da muss man nichts ermitteln und anpassen.

 

Lösch deine testDB, restore das Backup als TestDB und das wird gehen.


Stop making stupid people famous.


#21 McKloony

McKloony

    Newbie

  • 34 Beiträge

 

Geschrieben 18. Dezember 2013 - 17:19

Für mich klingt das nicht logisch und ich weiß nicht wo ich einerseits die testDB entfernen und andererseits  die testDB wiederherstellen soll. Kannst Du das folgende SQL Script nicht einfach so anpassen, dass "Dummy.mdf" und "Dummy_log.ldf"  nicht mehr benötigt werden?

 

USE [master]
RESTORE DATABASE [TestDB] FROM  DISK = N'D:\TestDB.bak' WITH  FILE = 1,  MOVE N'Dummy' TO N'd:\SQLDatenbank\Dummy.mdf',  MOVE N'Dummy_log' TO N'd:\SQLDatenbank\Dummy_log.ldf',  NOUNLOAD,  REPLACE,  STATS = 5
GO

Dieses Script funktioniert zwar, aber auch deshalb, weil ich weiß, dass die Datenbank im Sicherungssatz Dummy heißt. Wenn ich Dummy entferne und durch "" ersetze funktioniert es nicht mehr.



#22 Dukel

Dukel

    Board Veteran

  • 9.252 Beiträge

 

Geschrieben 18. Dezember 2013 - 19:53

Wieso erstellst du erst eine DB um diese dann durch einen Restore Vorgang wieder herzustellen?

Lösch die vorhandene TestDB und mach danach deinen Restore. Dann sollte der Restore ohne move funktionieren:

RESTORE DATABASE [TestDB] FROM DISK = N'D:\TestDB.bak'

Stop making stupid people famous.


#23 McKloony

McKloony

    Newbie

  • 34 Beiträge

 

Geschrieben 19. Dezember 2013 - 03:17

Wenn ich dieses Script so ausführe, kommen die folgenden Fehlermeldungen:

 

 

Meldung 5133, Ebene 16, Status 1, Zeile 9
Fehler bei der Verzeichnissuche für die Datei 'c:\Program Files\Microsoft SQL Server\MSSQL10_50.MOND\MSSQL\DATA\Dummy.mdf'. Betriebssystemfehler 3(Das System kann den angegebenen Pfad nicht finden.).
Meldung 3156, Ebene 16, Status 3, Zeile 9
Die Datei 'Dummy' kann nicht in 'c:\Program Files\Microsoft SQL Server\MSSQL10_50.MOND\MSSQL\DATA\Dummy.mdf' wiederhergestellt werden. Verwenden Sie WITH MOVE, um einen gültigen Speicherort für die Datei zu identifizieren.
Meldung 5133, Ebene 16, Status 1, Zeile 9
Fehler bei der Verzeichnissuche für die Datei 'c:\Program Files\Microsoft SQL Server\MSSQL10_50.MOND\MSSQL\DATA\Dummy_log.ldf'. Betriebssystemfehler 3(Das System kann den angegebenen Pfad nicht finden.).
Meldung 3156, Ebene 16, Status 3, Zeile 9
Die Datei 'Dummy_log' kann nicht in 'c:\Program Files\Microsoft SQL Server\MSSQL10_50.MOND\MSSQL\DATA\Dummy_log.ldf' wiederhergestellt werden. Verwenden Sie WITH MOVE, um einen gültigen Speicherort für die Datei zu identifizieren.
Meldung 3119, Ebene 16, Status 1, Zeile 9
Beim Planen der RESTORE-Anweisung wurden Probleme gefunden. Vorausgehende Meldungen enthalten ausführliche Informationen.
Meldung 3013, Ebene 16, Status 1, Zeile 9
RESTORE DATABASE wird fehlerbedingt beendet.


#24 LiveeviL-Odw

LiveeviL-Odw

    Newbie

  • 23 Beiträge

 

Geschrieben 19. Dezember 2013 - 10:52

Also jetzt mal stop!

Der 2008 R2 fragt das auch ab.....

 

Du hast aber im MGM  Studio die möglichkeit dir den Content anzuschauen ohne die *.Bak file zu restoren (siehe Anhang).

 

 

 

P.S

Schmeiß die GUI weg. Du kannst vielmehr per T-SQL Code lösen als Per "Clicki Bunti"

Ich arbeite nur per Script im Editor vom GUI

 

Ich klink mich jetzt aus

mfg

Alex

Angehängte Dateien


Bearbeitet von LiveeviL-Odw, 19. Dezember 2013 - 10:52.

MS SQL-Server DBA

 




Auch mit einem oder mehreren der folgenden Tags versehen: MS SQL