Planen einer schrittweisen Wiederherstellungssequenz für eine Datei mit dem Status RESTORING, RECOVERY_PENDING oder OFFLINE
Dieses Thema ist nur für SQL Server-Datenbanken mit mehreren Dateigruppen relevant (und bei Datenbanken, die das einfache Wiederherstellungsmodell verwenden, gilt dies nur für schreibgeschützte Dateigruppen), wenn Sie eine schrittweise Wiederherstellung einer Datenbank planen.
Wenn eine Wiederherstellungssequenz eine Datei mit dem Status RESTORING, RECOVERY_PENDING oder OFFLINE betrifft, können Sie diese Datei unter Umständen wiederherstellen, ohne ihre Daten wiederherzustellen. Mithilfe der Metadaten, die in den Katalogsichten sys.database_files und sys.master_files gespeichert sind, können Sie bestimmen, ob Sie die vollständige Sicherung der Datei wiederherstellen müssen oder lediglich die Datei wiederherstellen können.
Redo LSN-Einträge
Überprüfen Sie zunächst die Spalten der Katalogsicht, die die redo LSN-Einträge enthalten: redo_start_lsn, redo_start_fork_guid, redo_target_lsn und redo_target_fork_guid. In der folgenden Tabelle werden die einzelnen redo LSN-Einträge aufgeführt und erläutert.
Spalten |
Beschreibung |
---|---|
redo_start_lsn und redo_start_fork_guid |
Zusammen beschreiben diese Spalten ein lsn/guid-Paar, das den Zeitpunkt der Datei dargestellt. Die Werte dieser Spalten ändern sich, wenn für die Datei ein Rollforward ausgeführt wird. Die Ausführung des Rollforwards wird an diesem Punkt fortgesetzt.
Wichtig
Wenn redo_start_lsn = NULL ist, ist der Status der Datei auf dem Datenträger unbekannt, und die Datei muss daher von einer vollständigen Datensicherung wiederhergestellt werden.
|
redo_target_lsn und redo_target_fork_guid |
Zusammen beschreiben diese Spalten ein lsn/guid-Paar, das den Punkt definiert, bis zu dem die Datei wiederhergestellt werden muss, um mit der Onlinedatenbank (dem Zielwiederherstellungspunkt) konsistent zu sein. |
Verwenden von sys.database_files oder sys.master_files
Beide Katalogsichten, sys.database_files und sys.master_files, enthalten redo LSN-Spalten; die Sichten sind jedoch nicht immer konsistent. Wenn die Datenbank online ist, sind die Werte in sys.database_files und sys.master_files im Allgemeinen konsistent. In folgenden Situationen sind die Werte jedoch inkonsistent:
Wenn die Datenbank schreibgeschützt ist, wird sys.database_files nicht mit den Änderungen der Sicherung aktualisiert. Aktuelle Informationen sind lediglich in sys.master_files enthalten.
Hinweis Untersuchen Sie die Spalten is_read_only und read_only_lsn, um festzustellen, ob eine Datei schreibgeschützt ist. is_read_only zeigt an, ob die Datei schreibgeschützt ist. Wenn dies der Fall ist, stellt die read_only_lsn-Spalte den Punkt dar, an dem die Datei schreibgeschützt wurde.
Wenn die Datenbank offline ist (z. B. während eines Wiederherstellungsvorgangs), kann auf den Datenbankkatalog nicht zugegriffen werden. Um bei einer Offlinedatenbank Informationen zu erhalten, müssen Sie die sys.master_files-Katalogsicht verwenden.
Wenn die Datei derzeit von einem Wiederherstellungsvorgang betroffen ist, werden die redo LSN-Einträge der Datei aktualisiert und sind deshalb inkonsistent. Überprüfen Sie die redo LSN-Spalten daher nur zwischen Wiederherstellungsvorgängen.
Interpretation dieser Spalten
Hinweis |
---|
Dieses Thema setzt voraus, dass Sie mit den Konzepten der Wiederherstellungspfade und -verzweigungen vertraut sind. Weitere Informationen finden Sie unter Wiederherstellungspfade. |
Dieser Abschnitt ist nur relevant, wenn Sie eine Zeitpunktwiederherstellung durchgeführt und noch Sicherungen von eventuell vorhandenen veralteten Wiederherstellungspfaden haben. Wiederherstellungsverzweigungen sind von Bedeutung, wenn Sie eine Datei mit dem Status RESTORING, RECOVERY_PENDING oder OFFLINE wiederherstellen. Sie können die potenziellen Wiederherstellungspfade identifizieren, indem Sie die Wiederherstellungsverzweigungen analysieren. Im Allgemeinen bietet sich immer ein Wiederherstellungspfad als beste Lösung für die Wiederherstellung der Datenbank an.
Um den besten Wiederherstellungspfad zu bestimmen, überprüfen Sie, ob sich die Datei in der Zielwiederherstellungsverzweigung oder einer anderen Verzweigung befindet:
Die Datei befindet sich auf einem anderen Wiederherstellungs-Verzweigungspunkt.
Die Datei befindet sich auf einem anderen Wiederherstellungs-Verzweigungspunkt der Zielverzweigung, wenn redo_start_fork_guid!=redo_target_fork_guid und kein Vorgänger von redo_target_fork_guid ist.
Hinweis Folgen Sie der Protokollkette rückwärts, um einen Vorgängerverzweigungspunkt zu finden. Weitere Informationen finden Sie unter Wiederherstellungspfade.
In diesem Fall muss die Datei von einer vollständigen Sicherung wiederhergestellt werden. Bei dieser Wiederherstellung wird die Datei an einen Punkt gesetzt, der einen gültigen Vorgänger des aktuellen Wiederherstellungspunkts der Datenbank darstellt.
Hinweis Zum Wiederherstellen von Dateien muss die Dateisicherung ein Vorgänger des Wiederherstellungspunkts der Datenbank sein. Verwenden Sie stets die aktuellste vollständige Sicherung der Datei. Für die Daten muss bis zum Zielpunkt ein Rollforward ausgeführt werden. Die einzige Ausnahme ist, dass für die Dateisicherung einer schreibgeschützten Datei kein Rollforward ausgeführt werden muss, wenn die Datei vor der Sicherung schreibgeschützt war. Führen Sie gegebenenfalls nach dem Wiederherstellen der Dateisicherung die Wiederherstellung einer differenziellen Sicherung und, falls vorhanden, der Protokollsicherungen aus, um die Datei an den Zielwiederherstellungspunkt zu bringen.
Die Datei befindet sich auf dem aktuellen Wiederherstellungs-Verzweigungspunkt (des Ziels) oder ist ein Vorgänger des Zielverzweigungspunkts.
Hinweis Wenn Sie seit der Wiederherstellung der Datenbank eine Sicherung der Datei erstellt haben, befindet sich die Datei auf dem Zielwiederherstellungs-Verzweigungspunkt.
In diesen Fällen ist das Ausführen einer Wiederherstellung der Datei, wie in der folgenden Tabelle beschrieben, abhängig von der Beziehung von redo_start_lsn zu redo_target_lsn.
Situation
Auswirkung
redo_start_lsn=redo_target_lsn
Die Datei muss nicht wiederhergestellt werden.
Die Datei ist mit der Datenbank konsistent und kann ohne RESTORE DATABASE database_name WITH RECOVERY online geschaltet werden.
redo_start_lsn<redo_target_lsn
Bevor die Datei online geschaltet werden kann, muss der Rollforward redo_target_lsn erreichen.
redo_start_lsn>redo_target_lsn
Die Datenbank hat ein früheres Datum als die Datei. Die Datei muss von einer vollständigen Sicherung wiederhergestellt werden (oder die Datenbank muss möglicherweise zu einem späteren Zeitpunkt mit einer anderen Teilwiederherstellungssequenz erneut wiederhergestellt werden).
HinweisDiese Situation kann nur bei einer Offlinewiederherstellung eintreten, da ein neuer Wiederherstellungs-Verzweigungspunkt generiert wird, sobald die primäre Dateigruppe wiederherstellt ist. Alle nicht wiederhergestellten sekundären Dateigruppen befinden sich nicht mehr auf demselben Wiederherstellungspfad wie die primäre Dateigruppe.
Hinweis |
---|
Nachdem Sie die Sicherungen für einen dieser Wiederherstellungspfade wiederhergestellt haben, sind die anderen Wiederherstellungspfade nicht mehr gültig. Sicherungen, die sich auf ungültige Wiederherstellungspfade beziehen, veralten. Es gilt als bewährte Methode, veraltete Sicherungen zu löschen oder wenigstens abzusondern und klar als veraltet zu markieren. |
Siehe auch