Udostępnij za pośrednictwem


Jak działają migawek bazy danych

migawka bazy danych zawiera widok tylko do odczytu, statyczne źródłowa baza danych jako istniała podczas tworzenia migawki, minus wszelkie niezakończone transakcje.Niezakończone transakcje są przywracane w nowo utworzonej migawka bazy danych ponieważ Aparat baz danych Uruchamia odzyskiwanie po utworzeniu migawki (nie dotyczy transakcji w bazie danych).

Migawki bazy danych są zależne od źródłowa baza danych.Migawki bazy danych musi być tego samego wystąpienie serwera w bazie danych.Ponadto jeśli z jakiegoś powodu niedostępny bazy danych, wszystkie jego migawek bazy danych również są niedostępne.

Migawki można dla celów sprawozdawczości.Ponadto w przypadku wystąpienia błędu użytkownika na źródłowa baza danych, można przywrócić źródłowa baza danych do stanu sprzed, podczas tworzenia migawka.Utrata danych jest ograniczona do aktualizacji bazy danych od utworzenia migawka.Ponadto tworzenie migawka bazy danych może być przydatne bezpośrednio przed wprowadzeniem poważnej zmiany bazy danych, takie jak zmiana schemat lub strukturę tabela.Więcej informacji na temat zastosowań migawek, zobacz Typowe zastosowania migawek bazy danych.

Opis działania migawki jest pomocne, chociaż nie są niezbędne do ich używania.Migawki bazy danych działają poziom strona danych.Przed stroną źródła bazy danych zostanie zmodyfikowany w pierwszym czas, oryginalnej strona jest kopiowane ze źródłowej bazy danych do migawka.Ten proces jest nazywany operacji kopiowania przy zapisie.migawka są przechowywane strona oryginalnej, zachowując rekordy danych w postaci one istniały podczas tworzenia migawka.Kolejne aktualizacje do rekordów w zmodyfikowanej strona nie wpływają na zawartość migawka.Ten sam proces jest powtarzany dla każdej strona, modyfikacji w pierwszym czas.W ten sposób migawka zachowuje oryginalny stron dla wszystkich rekordów danych, które kiedykolwiek zostały zmodyfikowane od migawka została podjęta.

Aby zachować skopiowane strony oryginalnej, migawka używa jednego lub więcej plikami rozrzedzonymi.Początkowo plik rozrzedzony jest zasadniczo pusty plik, który nie zawiera żadnych danych użytkownika i nie jeszcze została zaalokowana ilość miejsca na dysku dla danych użytkownika.Ponieważ coraz więcej stron są aktualizowane w źródłowa baza danych, rozmiar pliku powiększa się.migawka jest pobierana, plik rozrzedzony zajmuje mało miejsca na dysku.Jak baza danych jest aktualizowana przez czas, jednak plik rozrzedzony można powiększać w bardzo dużych plików.Aby uzyskać więcej informacji na temat plikami rozrzedzonymi, zobacz Opis Sparse rozmiary plików w bazie danych migawek.

Następujący rysunek ilustruje operacji kopiowania przy zapisie.Światła szarych prostokątów na diagramie migawka stanowią potencjalne miejsca w plik rozrzedzony jest jako-jeszcze nieprzyznane.Po otrzymaniu pierwszej aktualizacji do strona w źródłowa baza danych, Aparat baz danych zapisuje plik i system operacyjny przydziela miejsce w plikami rozrzedzonymi migawka i kopiuje oryginalny tam strona. Aparat baz danych Następnie aktualizuje na stronie źródłowa baza danych.Następujący rysunek ilustruje operacją kopiowania przy zapisie.

Operacja odczytu z migawki po zaktualizowaniu strony

Ważna informacjaWażne:

Ponieważ migawek bazy danych nie są nadmiarowe składowania, ich nie chroni przed błędów dysku lub inne uszkodzenia.Podjęcie regularnego wykonywania kopii zapasowych i przywracanie planu testowania są istotnymi elementami ochrony bazy danych.Jeśli należy przywrócić bazy danych źródłowych do punktu w czas , w której utworzono migawka bazy danych, wykonania kopii zapasowej polityki, która umożliwia.

Operacje odczytu na migawce bazy danych

Użytkownikowi migawka bazy danych prawdopodobnie nigdy nie zmienić, ponieważ operacji odczytu na bazie migawkę zawsze dostęp do oryginalnej strony danych, niezależnie od tego, gdzie się znajdują.

Jeśli strona nie została jeszcze zaktualizowana na źródłowa baza danych, operacja odczytu migawka odczytuje oryginalnej strona z źródłowa baza danych.Na poniższej ilustracji przedstawiono operacji odczytu migawka nowo utworzone, w której plik rozrzedzony odpowiednio nie zawiera stron.Przeczytaj to operacja odczytuje tylko z źródłowa baza danych.

Operacja odczytu przed skopiowaniem pierwszej strony do migawki

Po aktualizacji strona operacja odczytu migawka nadal dostęp do oryginalnej strona są teraz przechowywane w plik rozrzedzony.Następujący rysunek ilustruje operacji odczytu na migawce, który uzyskuje dostęp do strona po zaktualizowaniu w źródłowa baza danych.Operacja odczytu odczytuje oryginalnej strona z plik rozrzedzony migawka.

Operacja kopiowania przy zapisie

Wpływ deseń aktualizacji na wzrost migawkę bazy danych

Jeśli Twój źródłowa baza danych jest dość duży i obawiasz się o użycie miejsca na dysku, w pewnym momencie należy zastąpić starą migawką z nową migawkę.Idealny żywotność migawka zależy od jego stopy wzrostu i miejsca na dysku jest dostępna jego plikami rozrzedzonymi.Miejsce na dysku, wymagane przez migawka zależy od liczby różnych stron źródłowa baza danych są aktualizowane w czasie życia migawka.Dlatego, jeśli aktualizacje są przeważnie podzbiór stron, które są często aktualizowane, stopy wzrostu spowalniają nad czas i wymagania dotyczące miejsca na migawka pozostaje stosunkowo niewielka.Natomiast po wszystkich stronach oryginalnego ostatecznie aktualizacji co najmniej raz, migawka wzrośnie do rozmiaru źródłowa baza danych.Jeśli dysk zaczyna się zapełniać, migawki konkurują ze sobą miejsca na dysku.Jeśli dysk wypełnia się, napisać operacji migawek nie powiedzie się.

Ostrzeżenie

Informacje nauki rozmiarów rzeczywistych i potencjalnych migawka, zobacz Opis Sparse rozmiary plików w bazie danych migawek.

Dlatego warto wiedzieć desenie aktualizacji typowe dla bazy danych podczas planowania podczas planowanego czasu działania migawka jest wymagana ilość miejsca.Dla niektórych baz danych częstotliwość aktualizacji może być dość stała; na przykład bazy danych magazynu może mieć wiele stron aktualizowanych codziennie, co przydatne do zastąpienia starych migawek codziennie lub co tydzień.Dla innych baz danych proporcji zaktualizowane strony mogą różnić się podczas cyklu koniunkturalnego; na przykład baza danych katalogu mogą zostać zaktualizowane głównie kwartalne aktualizacje rzadkie w innym czasie; Tworzenie migawek, tuż przed i po każdej aktualizacji kwartalnych byłoby logiczne strategii.Jeśli wystąpi błąd aktualizacji znaczące i post-update migawka mogą zostać użyte dla raportu pisania w następnym kwartale ze migawka mógłby umożliwić przywracanie.

Następujący rysunek ilustruje skutki dwóch kontrastujące desenie aktualizacji na rozmiar migawka.Zaktualizować deseń, A odzwierciedla środowisku, w którym tylko 30 procent oryginalnej strony są aktualizowane w czasie życia migawka.Aktualizacja wzoru b odzwierciedla środowisku, w którym 80 procent oryginalnej strony są aktualizowane w czasie życia migawka.

Alternatywne wzorce aktualizacji i rozmiar migawki

Metadane dotyczące migawek bazy danych

Migawki bazy danych zawiera metadane bazy danych source_database_id właściwość, która jest przechowywana kolumna sys.databases wykazu widoku.Aby uzyskać więcej informacji dotyczących tej właściwość, zobacz sys.Databases (Transact-SQL).

Na ogół migawka bazy danych nie ujawnia metadane własnego, ale go uwidocznić metadane z jego źródłowa baza danych.metadane zawiera na przykład dane zwrócone przez następujące instrukcja:

USE <database_snapshot> SELECT * FROM sys.database_files 

where <database_snapshot>is the name of a database snapshot.

Jedynym wyjątkiem są po źródłowa baza danych przeszukiwanie pełnego tekstu zastosowań lub dublowania baz danych, które się samoczynnie wyłączać na migawka zmieniając niektóre wartości migawka metadane.