Ich habe ein Backup von Database1 von vor einer Woche. Die Sicherung erfolgt wöchentlich im Scheduler und ich erhalte eine .bak
Datei. Jetzt möchte ich mit einigen Daten herumspielen, damit ich sie in einer anderen Datenbank wiederherstellen kann - Datenbank2 .
Ich habe diese Frage gesehen: Stellen Sie die SQL Server-Datenbank auf demselben PC mit einem anderen Namen wieder her. Der empfohlene Schritt besteht darin, die ursprüngliche Datenbank umzubenennen. Diese Option ist jedoch nicht verfügbar, da ich mich auf dem Produktionsserver befinde und dies nicht wirklich tun kann.
Gibt es eine andere Möglichkeit, es wiederherzustellen Database2
, oder zumindest, wie kann ich die Daten dieser .bak-Datei durchsuchen?
Vielen Dank.
ps: Die zweite Antwort über den obigen Link sah vielversprechend aus, endet aber immer wieder mit einem Fehler:
Die Wiederherstellungsdateiliste wird abnormal beendet
quelle
backkup set holds a backup of a database other than existing "tmp" database
, den ich verstehe. Sollte derto
Ausdruck der tatsächliche physische Pfad von seinMyTempCopy
?to
ist dies der Datenbank- und Protokollspeicherort für die neue Datenbank. Aktualisierungsbeispiel obenRESTORE DATABASE MyTempCopy FROM DISK='e:\mssql\backup\creditline.bak' WITH REPLACE, RECOVERY, MOVE 'CreditLine' TO 'e:\mssql\MyTempCopy.mdf', MOVE 'CreditLine_log' TO 'e:\mssql\MyTempCopy_log.ldf'
SQL Server 2008 R2:
Führen Sie für eine vorhandene Datenbank, die Sie wiederherstellen möchten, die folgenden Schritte aus: einer Sicherung einer anderen Datenbank aus:
quelle
Für SQL Server 2012 mit SQL Server Management Studio empfand ich diese Schritte auf der Microsoft-Seite als nützlich, um eine andere Datenbankdatei und einen anderen Namen wiederherzustellen: (Ref: http://technet.microsoft.com/en-us/library/ms175510 .aspx )
Beachten Sie, dass die Schritte 4 und 7 wichtig sind, um die vorhandene Datenbank nicht zu überschreiben.
quelle
Tatsächlich ist es nicht erforderlich, die Datenbank in nativen SQL Server-Begriffen wiederherzustellen, da Sie "mit einigen Daten herumspielen" und "die Daten dieser .bak-Datei durchsuchen" möchten.
Sie können ApexSQL Restore verwenden - ein SQL Server-Tool, das sowohl native als auch nativ komprimierte SQL-Datenbanksicherungen und Transaktionsprotokollsicherungen als Live-Datenbanken anfügt und über SQL Server Management Studio, Visual Studio oder ein anderes Drittanbieter-Tool zugänglich ist. Es ermöglicht das Anhängen einzelner oder mehrerer vollständiger, differenzieller und Transaktionsprotokollsicherungen
Darüber hinaus denke ich, dass Sie die Arbeit erledigen können, während sich das Tool im voll funktionsfähigen Testmodus befindet (14 Tage).
Haftungsausschluss: Ich arbeite als Product Support Engineer bei ApexSQL
quelle
Hier ist, was ich aus verschiedenen Beiträgen zusammengeschustert habe, um eine Datenbank mithilfe von Sicherung und Wiederherstellung mit Verschieben zu kopieren, um den physischen Speicherort zu reparieren, und zusätzlicher SQL, um den logischen Namen zu korrigieren.
quelle
DECLARE @BackupFiles...
benötigt die Zeile eine zusätzliche Spalte:SnapshotURL nvarchar(360)
Es ist tatsächlich ein bisschen einfacher als das Wiederherstellen auf demselben Server. Grundsätzlich gehen Sie einfach durch die Optionen "Datenbank wiederherstellen". Hier ist ein Tutorial für Sie:
http://www.techrepublic.com/blog/window-on-windows/how-do-i-restore-a-sql-server-database-to-a-new-server/454
Vor allem, da es sich um eine nicht produktive Wiederherstellung handelt, können Sie sich wohl fühlen, wenn Sie sie einfach ausprobieren, ohne sich über die Details Gedanken machen zu müssen. Platzieren Sie einfach Ihre SQL-Dateien an der gewünschten Stelle auf Ihrem neuen Server und geben Sie ihm den gewünschten Namen. Dann können Sie loslegen.
quelle
Wenn keine Datenbank vorhanden ist, verwende ich den folgenden Code:
quelle
Ich habe den gleichen Fehler wie in diesem Thema, wenn ich eine neue Datenbank mit einer alten Datenbank wiederherstelle. (Die Verwendung von .bak führt zu demselben Fehler.)
Ich habe den Namen der alten Datenbank durch den Namen der neuen Datenbank geändert (das gleiche Bild). Es funktionierte.
quelle
Hier erfahren Sie, wie Sie ein Backup als zusätzliche Datenbank mit einem eindeutigen Datenbanknamen wiederherstellen.
Für SQL 2005 funktioniert dies sehr schnell. Ich bin sicher, dass neuere Versionen genauso funktionieren werden.
Erstens müssen Sie Ihre ursprüngliche Datenbank nicht offline schalten. Aber aus Sicherheitsgründen mag ich. In meinem Beispiel werde ich einen Klon meiner "Abrechnungs" -Datenbank bereitstellen, der den Namen "Abrechnungsklon" trägt.
1) Erstellen Sie eine gute Sicherung der Rechnungsdatenbank
2) Aus Sicherheitsgründen habe ich das Original wie folgt offline geschaltet:
3) Öffnen Sie ein neues Abfragefenster
**WICHTIG! Lassen Sie dieses Abfragefenster geöffnet, bis Sie fertig sind! Sie müssen die Datenbank in diesem Fenster wiederherstellen!
Geben Sie nun folgenden Code ein:
3) Klicken Sie anschließend in Management Studio im Objekt-Explorer auf Datenbanken und wählen Sie "Datenbank wiederherstellen".
4) Geben Sie einen neuen Namen in das Feld "Zur Datenbank" ein. IE Abrechnungsklon
5) Klicken Sie in Source for Restore auf "From Device" und dann auf die Schaltfläche ... navigieren
6) Klicken Sie auf Hinzufügen und navigieren Sie zu Ihrem Backup
7) Setzen Sie ein Häkchen neben Wiederherstellen (Wählen Sie die wiederherzustellenden Sicherungssätze aus).
8) Wählen Sie als nächstes die Seite OPTIONEN in der oberen linken Ecke
9) Bearbeiten Sie nun die Datenbankdateinamen in RESTORE AS. Tun Sie dies sowohl für die Datenbank als auch für das Protokoll. IE billingclone.mdf und billingclone_log.ldf
10) Drücken Sie nun OK und warten Sie, bis die Aufgabe abgeschlossen ist.
11) Klicken Sie in Ihrem Objekt-Explorer auf Aktualisieren und Sie sehen Ihre neue Datenbank
12) Jetzt können Sie Ihre Rechnungsdatenbank wieder online stellen. Verwenden Sie dasselbe Abfragefenster, in dem Sie die Abrechnung offline geschaltet haben. Verwenden Sie diesen Befehl:
getan!
quelle
quelle