Die Antwort lautet Nein, unabhängig davon, welche Sicherungssoftware verwendet wird.
Eine Sicherung ist eine physische Operation, keine logische Operation. Es liest alle Bereiche, die zugewiesene Seiten enthalten (dh obwohl nur eine einzige Seite von einem 8-Seiten-Bereich zugewiesen ist, wird der gesamte 64-KB-Bereich gesichert), und dies in physischer Reihenfolge.
Eine Wiederherstellung ist eine physische Operation, keine logische Operation. Es legt die Ausmaße an ihren rechtmäßigen Stellen in den Datendateien fest.
Das Neuerstellen eines Index (oder eines ähnlichen Index) ist eine logische Operation, die protokolliert werden muss. Durch Sichern und Wiederherstellen werden die Datendateien direkt bearbeitet, ohne den Pufferpool zu durchlaufen. Dies ist ein Grund, warum dies nicht möglich ist. Ein weiterer Grund, warum dies nicht möglich ist, besteht darin, dass beim Sichern und Wiederherstellen nicht verstanden wird, was in den zu sichernden Daten enthalten ist.
Der Hauptgrund dafür ist jedoch, dass das Verschieben von Seiten während eines Wiederherstellungsvorgangs die B-Tree-Zeiger beschädigen würde. Wenn Seite A auf Seite B zeigt, Seite A jedoch durch den Wiederherstellungsprozess verschoben wird, wie wird Seite B aktualisiert, um auf Seite A zu verweisen? Wenn es sofort aktualisiert wird, wird es möglicherweise vom Rest des Wiederherstellungsprozesses überschrieben. Was ist, wenn der Wiederherstellungsprozess ein Transaktionsprotokoll wiederhergestellt hat, das Seite A oder Seite B entfernt hat? Das geht einfach nicht.
Fazit: Backup und Restore sind physische Vorgänge, die die Daten niemals ändern.
Hoffe das hilft!
PS Obwohl diese Frage nicht direkt behandelt wird, lesen Sie den Artikel, den ich für das TechNet-Magazin im Juli geschrieben habe, in dem erläutert wird, wie die verschiedenen Sicherungen intern funktionieren: Grundlegendes zu SQL Server-Sicherungen . Das September-Magazin wird das nächste in der Reihe zum Verständnis von Wiederherstellungen haben.
Eine native SQL-Sicherung ist nur ein seitenweiser Speicherauszug der Sicherungsdateien, daher lautet die Antwort dort "Nein". Bei einer Quest-Sicherung mit Lichtgeschwindigkeit wird wahrscheinlich eine Art Komprimierungskomprimierungsalgorithmus verwendet, die Datendateien oder Indizes werden jedoch nicht "neu erstellt", was in einer großen Datenbank enorm viel Zeit in Anspruch nehmen würde.
quelle
Das Backup wird regelmäßig und sehr oft durchgeführt (hoffe ich). Deshalb haben die Designer dafür gesorgt, dass die Sicherung so schnell wie möglich erfolgt. Was ist die schnellste E / A? Sequentiell. Wenn Sie Blöcke von Datenträgern in exakter physischer Reihenfolge lesen, haben Sie die beste Leistung.
Warum um alles in der Welt sollte die Datenbank jede Nacht umständliche zufällige E / A-Operationen durchführen und die Köpfe der Festplatten überall wegwerfen? Der Unterschied würde bei zwei Größenordnungen liegen. Darin liegt kein möglicher Gewinn.
quelle
Hmmm. BradC, haben Sie schon einmal mit Firebird / Interbase gearbeitet - wo das Hauptdienstprogramm / die API zum Sichern / Wiederherstellen der "Datenbank kopieren ..." des SSMS / EM ähnlicher ist? Wenn ja, wissen Sie, dass MS SQL Server NICHT so ist.
Eine SQLServer-Sicherung ist eher ein Datenbankspeicherauszug, der "wie besehen" wiederhergestellt wird. Es handelt sich also eher um eine komfortable Online-Verknüpfung für eine Operation "Trennen, Kopieren und erneutes Anhängen an einem anderen Ort". Die wiederhergestellte Datenbank ist fast eine exakte Kopie der ursprünglichen Datenbankdatei (fast, weil Sie die Platzierung der Datenbankdateien einer wiederhergestellten Datenbank ändern können) ...
quelle