Biodro>
W tym artykule wyjaśnię Migawki bazy danych w SQL Server. Migawka bazy danych to funkcja, która jest dostarczana z SQL Server 2005 i jest aktywna w 2008, 2012, 2014, 2016, SQL Server 2017 i tak dalej. Migawka bazy danych; Najprostszą definicją jest to, że kopia bazy danych tylko do odczytu lub migawka bazy danych w dowolnym momencie.
Kiedy wykonywany jest proces tworzenia migawki, SQL Server pobiera bieżący obraz wybranej bazy danych, ale nie ma na dysku bieżących danych fizycznych dla bazy danych Snapshot.
Istnieją unikalne dane fizyczne i są przeznaczone tylko dla bazy danych produkcyjnych. Anuluj wycofywanie transakcji podczas wykonywania migawki. Wszelkie zmiany wprowadzone w bazie danych migawek zostaną zapisane w Pliku rzadkim dla bazy danych migawek.
Oznacza to, że jeśli ktoś zmienił jakiekolwiek dane w bazie danych Snapshot, gdy ktoś zapyta dowolny select związany z tymi samymi danymi z Snapshot , SQL Server odczyta zmienione dane z pliku Sparse i odczyta niezmodyfikowane dane z oryginalnej bazy danych.
Najpiękniejszym portretem podsumowującym ten scenariusz jest poniższe zdjęcie opublikowane przez MSDN.
Jak widać na powyższym obrazku, w pierwszym przypadku aktualizowane są 3 z 10 stron produkcyjnej Bazy danych. Te Aktualizacje są również zapisane w Rzadkim Pliku, jak pokazano w pierwszym przypadku. w drugim przypadku 8 stron ze źródłowej bazy danych jest aktualizowanych, a 7 stron jest zapisywanych w rzadkim pliku.
Gdy raport lub zapytanie jest wykonywane ze zrzutu, SQL Server odczytuje niezmienione strony ze źródłowej bazy danych SQL Server, a SQL Server odczytuje zmienione strony z pliku Sparse.
Głównym celem Snapshot jest utworzenie stabilnego raportu lub testowej bazy danych dla programistów przez określony czas poprzez wykonanie kopii zapasowej dowolnej bazy danych i tworzenie raportów za pomocą migawki. jeśli w produkcyjnej bazie danych wystąpią drobne błędy, administrator może przywrócić pierwotny stan ze zrzutu.
Jednak bardzo ważne jest, aby baza danych Snapshot była połączona z bazą danych jeden do jednego. Jeśli zostanie usunięta lub przeniesiona, główna baza danych nie może zostać zwrócona z bazy danych Snapshot. Właśnie dlatego baza danych Snapshot nie jest dokładnie strategią tworzenia kopii zapasowych dla SQL Server. Może być używany do testowych baz danych.
W następnym poście opowiem o migawce bazy danych SQL Server.