Odpowiedź brzmi: nie, niezależnie od używanego oprogramowania do tworzenia kopii zapasowych.
Kopia zapasowa jest operacją fizyczną, a nie logiczną. Odczytuje wszystkie zakresy zawierające przydzielone strony (tzn. Nawet jeśli przydzielona jest tylko jedna strona z 8-stronicowego zakresu, utworzy kopię zapasową całego zakresu 64K) i robi to w kolejności fizycznej.
Przywracanie jest operacją fizyczną, a nie logiczną. Określa zakresy w odpowiednich miejscach w plikach danych.
Odbudowanie indeksu (lub czegoś podobnego) jest logiczną operacją, którą należy zarejestrować. Kopie zapasowe i przywracanie manipulują plikami danych bezpośrednio, bez przechodzenia przez pulę buforów, co jest jednym z powodów, dla których nie można tego zrobić. Innym powodem, dla którego nie można tego zrobić, jest to, że tworzenie kopii zapasowych i przywracanie nie rozumieją, co zawiera dane, których kopie zapasowe wykonano.
Głównym powodem, dla którego nie można tego zrobić, jest to, że przenoszenie stron podczas operacji przywracania spowodowałoby uszkodzenie wskaźników b-drzewa. Jeśli strona A wskazuje stronę B, ale strona A jest przenoszona przez proces przywracania, w jaki sposób strona B jest aktualizowana, aby wskazywała stronę A? Jeśli zostanie zaktualizowany od razu, może zostać zastąpiony przez resztę procesu przywracania. Jeśli zostanie odroczona aktualizacja, co się stanie, jeśli proces przywracania przywróci dziennik transakcji, który usunął stronę A lub stronę B? Po prostu nie da się tego zrobić.
Konkluzja - tworzenie kopii zapasowych i przywracanie to operacje fizyczne, które nigdy nie zmieniają danych.
Mam nadzieję że to pomoże!
PS Chociaż nie odnosi się to bezpośrednio do tego pytania, sprawdź artykuł, który napisałem dla lipcowego magazynu TechNet, który wyjaśnia, w jaki sposób różne kopie zapasowe działają wewnętrznie: Zrozumienie kopii zapasowych SQL Server . Wrześniowy magazyn będzie miał kolejny z serii poświęconej przywracaniu zrozumienia.
Rodzimy backup SQL jest po prostu nora strona po stronie z plików kopii zapasowych, więc odpowiedzią jest „nie”. Kopia zapasowa Quest Lightspeed prawdopodobnie używa pewnego rodzaju algorytmu kompresji kompresji, ale nadal nie „odbuduje” plików danych lub indeksów, co zajęłoby strasznie dużo czasu w dużej bazie danych.
źródło
Tworzenie kopii zapasowej odbywa się regularnie i bardzo często (mam nadzieję). Dlatego projektanci zadbali o to, aby tworzenie kopii zapasowych było jak najszybsze. Jakie jest najszybsze we / wy? Sekwencyjny. Czytasz bloki z dysków w dokładnie fizycznej kolejności, masz najlepszą wydajność.
Dlaczego, u licha, baza danych powinna wykonywać uciążliwą losową operację we / wy każdej nocy , niszcząc głowy dysków w każdym miejscu? Różnica wynosiłaby około dwóch rzędów wielkości. Nie ma w tym możliwego zysku.
źródło
Hmmm. BradC, czy pracowałeś już wcześniej z Firebird / Interbase - gdzie główne narzędzie do tworzenia kopii zapasowych / przywracania / API jest bardziej podobne do „Kopiuj bazę danych ...” SSMS / EM? Jeśli tak, wiedz, że MS SQL Server NIE jest podobny.
Kopia zapasowa SQLServer jest bardziej zrzutem bazy danych, który jest przywracany „TAK JAK JEST” - jest więc bardziej wygodnym skrótem online do operacji „odłącz-kopiuj-podłącz ponownie w innym miejscu”. Przywrócona baza danych jest prawie dokładną kopią oryginalnego pliku bazy danych (prawie dlatego, że można zmienić położenie plików bazy danych przywróconej bazy danych) ...
źródło