Wiederherstellen umbenannter Dateien und Dateigruppen
Der Name einer Datei oder Dateigruppe kann geändert und an anderer Stelle erneut verwendet werden. Mit SQL Server Database Engine (Datenbankmodul) werden Dateien und Dateigruppen intern mithilfe von global eindeutigen Bezeichnern (GUID, Globally Unique Identifiers) verfolgt. In den meisten Fällen erkennt ein Wiederherstellungsvorgang, dass ein Name geändert wurde, und der Vorgang verarbeitet die Änderung richtig.
Wie die Wiederherstellung mit einem geänderten Namen umgeht, hängt davon ab, ob die Datei offline oder online wiederhergestellt wird.
Während einer Offlinewiederherstellung ist der Zugriff auf den Datenbankkatalog einschließlich der aktuellen Liste der Dateigruppen nicht möglich. Die Wiederherstellung ordnet den angegebenen Namen den Datei- oder Dateigruppennamen in der Sicherung zu. Daher wird möglicherweise die falsche Datei wiederhergestellt, wenn der Name nach der Erstellung der Sicherung erneut verwendet wurde. Später löscht die Wiederherstellung jedoch alle Dateien, die zum Wiederherstellungspunkt nicht in der Datenbank angezeigt werden. Dies bewirkt, dass zusätzliche Wiederherstellungs- und Rollforwardaktivitäten ausgeführt werden, die Datenbank jedoch richtig ist. Dieser zusätzliche Aufwand ist unvermeidbar, da die Wiederherstellung den Wiederherstellungspunkt nicht kennt und nicht vorhersagen kann, welche Dateien zu einem unbekannten Zeitpunkt in der Datenbank vorhanden sein werden.
Während einer Onlinewiederherstellung kann auf den Datenbankkatalog zugegriffen werden. Wenn der neue Datei- oder Dateigruppenname während der Wiederherstellung angegeben wird, wird von Database Engine (Datenbankmodul) der entsprechende GUID aus dem Datenbankkatalog abgerufen und die Datei oder Dateigruppe mit diesem GUID wiederhergestellt, sofern dieser in der Sicherung vorhanden ist.
Wenn der alte Name angegeben wird, befindet dieser sich nicht im Katalog. Stimmt der GUID mit dem GUID einer aktuellen Datei oder Dateigruppe in der Sicherung überein, wird die Datei oder Dateigruppe von Database Engine (Datenbankmodul) anhand der Sicherung wiederhergestellt.
Stimmt der GUID aus der Sicherung mit keiner der aktuellen Dateien oder Dateigruppen überein, tritt ein Fehler auf.
Umgang der Wiederherstellung mit einem erneut verwendeten Datei- oder Dateigruppennamen
Der Name einer gelöschten Datei oder Dateigruppe kann später erneut verwendet werden; beispielsweise kann ein früherer Dateigruppenname für eine neue Datei verwendet werden. Dieser Vorgang ähnelt dem Umbenennen einer Datei oder Dateigruppe. Bei der erneuten Verwendung eines Namens bezieht sich jedoch derselbe Name zu verschiedenen Zeitpunkten auf unterschiedliche Objekte.
Die Wiederherstellung verarbeitet automatisch Änderungen der Anzahl und Namen von Dateien und Dateigruppen. Die bewährte Methode besteht darin, im Anschluss an die Änderung eine vollständige Datenbanksicherung der neuen oder geänderten Dateien und Dateigruppen zu erstellen, um den Wiederherstellungsvorhang zu vereinfachen.
Wenn eine Datei umbenannt und ihr Name seit der letzten Sicherung erneut verwendet wurde, wird dieser von Database Engine (Datenbankmodul) abhängig davon behandelt, ob auf den Datenbankkatalog zugegriffen werden kann und ob dieser den Namen enthält:
Wenn auf den Datenbankkatalog zugegriffen werden kann und der Name im Katalog vorhanden ist, wird von Database Engine (Datenbankmodul) der GUID der entsprechenden Datei oder Dateigruppe ermittelt und die Datei oder Dateigruppe mit dem GUID aus der Sicherung wiederhergestellt. Entspricht der Name keiner der aktuellen Dateien oder Dateigruppen, tritt ein Fehler auf.
Wenn nicht auf den Katalog zugegriffen werden kann, da die Datenbank offline wiederhergestellt wird, kann Database Engine (Datenbankmodul) das wiederherzustellende Objekt anhand der Informationen in der Sicherung bestimmen (wie zuvor in diesem Thema beschrieben).
Möglicherweise lässt Database Engine (Datenbankmodul) die erneute Verwendung eines Namens erst zu, nachdem Sie eine Protokollsicherung erstellt haben. In diesem Fall wird ein Fehler angezeigt.