Ich weiß, dass es Fragen gibt, die das Problem lösen, dass eine Datenbank im RESTORING
Status steckt, und habe diese Lösungen verwendet, um die Datenbank manuell wieder online zu schalten, aber mein Szenario ist etwas anders.
Ich habe eine automatische Wiederherstellung mit Powershell-Skripten, die eine Kopie der Produktion in einer DEV-Instanz wiederherstellt. Die Skripte bleiben ungefähr ein Jahr lang unverändert und gelegentlich wird der Wiederherstellungsprozess abgeschlossen, aber die wiederhergestellte Datenbank bleibt im RESTORING
Status hängen (manchmal funktioniert das Skript einwandfrei, manchmal schlägt es so fehl).
Jedes Mal, wenn ich den Prozess manuell erneut ausführe, funktioniert er oder wenn ich die Datenbank manuell über die Benutzeroberfläche von SSMS oder über T-SQL wiederherstelle, wird sie problemlos abgeschlossen.
Ich habe Antworten gefunden, die empfohlen haben, CHECKDB
auf der wiederhergestellten Datenbank ausgeführt zu werden, aber es hat sich nichts als Ursache für dieses Problem herausgestellt.
Da die Wiederherstellungsskripte eine vollständige Sicherung der Datenbank wiederherstellen und eine "WITH RECOVERY"
Option verwenden, versuche ich herauszufinden, was den Wiederherstellungsprozess möglicherweise stoppt, obwohl ich ihn tatsächlich mithilfe von wiederherstelle "WITH RECOVERY"
.
Alle Vorschläge werden sehr geschätzt, da ich nicht verstehen kann, warum dies von Zeit zu Zeit geschieht.
Ich würde sehr gerne die Grundursache des Problems lösen, anstatt die Symptome zu behandeln, nämlich die DB erneut manuell wiederherzustellen.
Aktualisieren:
Github Gist als @Brent empfohlen - hier .
EXEC sys.xp_readerrorlog 0,1;
- suchen Sie nach Nachrichten zum Zeitpunkt des Wiederherstellungsvorgangs.