Ich erinnere mich anscheinend, dass Sie 2008 eine Sicherung in einer neuen Kopie einer Datenbank wiederherstellen konnten, indem Sie den Namen im Feld "Zieldatenbank" des Wiederherstellungsassistenten änderten. Es wird eine brandneue Datenbank erstellt, bei der es sich um eine Kopie der ursprünglichen Datenbank handelt, die zu dem von Ihnen gewünschten Zeitpunkt wiederhergestellt wurde. Ich habe nicht für mein ganzes Leben herausgefunden, wie man SQL 2012 dazu bringt, dies zu tun.
Jetzt verstehe ich (dank Aaron Bertrand), dass sich dies nicht wirklich geändert hat und dass 2012 mir klarer macht, dass diese Strategie von Anfang an eine schlechte Idee war!
Ich muss also Folgendes tun: Erstellen Sie eine neue Datenbank 'MyDB_Copy' aus einer vorhandenen Datenbank 'MyDB', indem Sie deren Sicherungsdateien verwenden. Wir haben nächtliche vollständige Backups (.bak) und alle 15 Minuten TLogs (.trn). Ich möchte nicht, dass die bestehende 'MyDB' beeinflusst wird, weil sie "live" ist.
Nachdem die MyDB_Copy aus der Hauptsicherungsdatei erstellt wurde, muss ich ein paar Dutzend TLog-Sicherungen wiederherstellen, um sie zu einem bestimmten Zeitpunkt wiederherzustellen.
quelle
Antworten:
Öffnen Sie in Anlehnung an Beispiel E in der Dokumentation ein neues Abfragefenster und führen Sie Folgendes aus:
Die logischen Namen sind nicht wichtig. Die physischen Dateinamen sind. Dies macht Annahmen über Ihre logischen Dateinamen und dass es nur zwei gibt; laufe
EXEC MyDB..sp_helpfile;
um sicher zu gehen.Wenn Sie Protokolle wiederherstellen müssen, wechseln Sie
RECOVERY
zuNORECOVERY
:Dann können Sie eine Reihe von:
Und am allerletzten:
Oder wenn Sie nur einen Teil einer Anmeldung bis zu einem bestimmten Zeitpunkt benötigen (ich gehe davon aus, dass Sie überprüft haben, wo sich die LSNs und Zeiten befinden, sodass Sie genau wissen, welche Dateien Sie benötigen):
Die Art und Weise, wie Sie in früheren Versionen sagten, hätte niemals funktioniert, es sei denn, die Sicherung stammte von einem anderen Server. Standardmäßig wird versucht, die neuen mdf- und ldf-Dateien genau am selben Ort abzulegen. Dies ist jedoch nicht möglich.
quelle
Um dieselbe Datenbank mehrmals wiederherzustellen, müssen Sie lediglich den Namen der Festplattendateien für diese Datenbank ändern. Natürlich müssen Sie der Datenbank auch in SQL Server einen anderen Namen geben. Nachdem Sie in SSMS die .bak-Datei für die Wiederherstellung ausgewählt und den Namen für die Datenbank eingegeben haben, klicken Sie links im Abschnitt "Seite auswählen" auf "Dateien" und ändern lediglich den Namen der Festplattendateien.
Prost Doug
quelle