Gibt es eine Möglichkeit, eine SQL-Datenbank aus dem Standby- / Nur-Lese-Modus wiederherzustellen, wenn die "Standby-Datei" fehlt?
(Ich sehe einige Referenzen, die dies als TUF-Datei in einem Protokollversand-Szenario bezeichnen, aber in meinem Fall war es nur eine manuelle Wiederherstellung und die Standby-Datei hatte eine BAK-Erweiterung.)
Das Ausführen einer "RESTORE DATABASE foo WITH RECOVERY" führt zu einem schwerwiegenden Fehler:
During startup of warm standby database 'foo', its standby file
('path\filename.bak') was inaccessible to the RESTORE statement.
The operating system error was '5(Access is denied.)'. Diagnose the
operating system error, correct the problem, and retry startup.
Die Wiederherstellung wurde vor einiger Zeit durchgeführt, und leider befand sich die Standby-Datei im Sicherungsordner und wurde von unserer Routine zur Ordnerbereinigung entfernt. Auf keinem anderen Medium ist eine Kopie der Datei vorhanden. Die ursprünglichen Sicherungen, die zur Wiederherstellung bis zu diesem Punkt verwendet wurden, sind ebenfalls längst nicht mehr vorhanden.
Glücklicherweise ist dies keine große Sache für uns (es war eine temporäre Wiederherstellung), aber ich konnte keine anderen nützlichen Referenzen zu dieser Frage finden, außer "Diese Datei nicht entfernen".
Wenn es darauf ankommt, könnte ich wahrscheinlich die gesamte Datenbank skripten oder SSIS verwenden, um alle Objekte in einen neuen Datenbankcontainer zu kopieren, da ich eine schreibgeschützte Kopie der Datenbank vor mir habe.
Gibt es eine Möglichkeit, dieses Problem zu beheben? Ich erwarte sicherlich nicht, dass ich es wieder auf "Wiederherstellen" stellen und nachfolgende Wiederherstellungen oder ähnliches fortsetzen kann. Ich möchte es nur in den normalen Online-Modus in seinem aktuellen Zustand zwingen, damit ich es tun kann Dinge wie Berechtigungen ändern oder den Wiederherstellungsmodus ändern oder eine neue vollständige Sicherung oder etwas anderes erstellen.