Udostępnij przez


Zapisywanie stron

We/Wy z wystąpienie Database Engine zawiera zapisy logicznych i fizycznych. Logiczne zapisu występuje po modyfikacji danych strona w bufor pamięć podręczna.Fizyczne zapisu występuje wówczas, gdy strona są zapisywane z buforu pamięci podręcznej na dysku.

Po modyfikacji strona w buforze pamięci podręcznej, to jest nie natychmiast zapisywane z powrotem do dysku; zamiast tego, strona jest oznaczona jako dirty.Oznacza to, że strona może zawierać więcej niż jednego zapisu logiczne dokonywane jest fizycznie zapisywane na dysku.Dla każdego zapisu logiczne rekord dziennik transakcji jest wstawiana w pamięci podręcznej dziennik, który zapisuje zmiany.The log records must be written to disk before the associated dirty page is removed from the buffer cache and written to disk.SQL Server uses a technique known as write-ahead logging that prevents writing a dirty page before the associated log record is written to disk.Jest to niezbędne do poprawnej pracy kierownika odzyskiwanie.Aby uzyskać więcej informacji zobaczDziennik transakcji zapisu z wyprzedzeniem.

Na poniższej ilustracji przedstawiono proces zapisywania strona zmodyfikowane dane.

Writing a modified data page.

Gdy Menedżer bufor zapisu strona, szuka kolejnych stron dirty, które można uwzględnić w jednym operacja zapisu rozproszonego.Kolejnych stron strona kolejne identyfikatory, są z tego samego pliku, strona nie musi być ciągły w pamięci.Wyszukiwanie jest kontynuowane zarówno do przodu i wstecz do momentu wystąpienia jednego z następujących zdarzeń:

  • Znajduje się na czystej stronie.

  • Odkryto, że 32 stron.

  • zanieczyszczona strona zostanie znaleziony, której numer sekwencyjny dziennika (LSN) został nie zostały jeszcze opróżniony w dzienniku.

  • Znajduje się strona, które nie mogą być natychmiast latched.

W ten sposób można zapisać cały zestaw stron na dysku z operacją pojedynczego gromadzenie i zapisu.

Tak, przed zapisaniem strona, formularz określony w bazie danych ochrona strona jest dodawany do strona.Jeśli ochrony poszarpane strony zostanie dodany, strona musi być latched EX(clusively) dla we/wy.Dzieje się tak, ponieważ Ochrona strona poszarpane modyfikuje strona, dzięki czemu nie nadaje się do innego wątek do odczytu.Ochrona strona suma kontrolna jest dodawany lub baza danych używa nie ochrony strona, strona jest latched z zatrzaśnięcie UP(data) dla we/wy.To zatrzaśnięcie uniemożliwia modyfikowanie strona podczas zapisu przez inne osoby, ale nadal umożliwia czytelnikom z niego korzystać.Aby uzyskać więcej informacji na temat opcji ochrony strona We/Wy dysku Zobacz Zarządzanie buforu.

zanieczyszczona strona jest zapisywany na dysku, w jednym z trzech sposobów.

  • Zapisywanie z opóźnieniem

    Moduł zapisujący opóźnieniem jest proces systemu, który przechowuje wolnych buforów dostępnych poprzez usunięcie rzadko używane strony z pamięci podręcznej buforu.Zmienione strony są najpierw zapisywane na dysku.

  • Chcesz pisania

    Proces zapisu chcesz zapisuje strony zmienione dane skojarzone z nonlogged operacji, takich jak zbiorczej Wstaw i wybierz.Ten proces umożliwia tworzenie i zapisywanie nowych stron odbywa się jednocześnie.Oznacza to wywołanie operacji nie ma czekać, aż cała operacja zakończy się przed zapisywania stron na dysku.

  • Punkt kontrolny

    Proces punkt kontrolny okresowo skanuje pamięć podręczną buforu dla buforów na stronach z określonej bazy danych i zapisuje wszystkie zmienione strony dysku.Punkty kontrolne zaoszczędzić czas podczas późniejszego odzyskiwanie, tworząc punkt, w którym wszystkie zmienione strony są gwarantowane, zostały zapisane na dysku.Użytkownik może zażądać operacji punkt kontrolny przy użyciu polecenia punkt kontrolny lub Database Engine może generować automatyczne punkty kontrolne, w zależności od ilości miejsca dziennika używane oraz czas, jaki upłynął od momentu ostatniego punkt kontrolny. Ponadto punkt kontrolny jest generowany, kiedy występują określone działania.Na przykład gdy plik danych lub dziennika jest dodawane lub usuwane z bazy danych lub wystąpienie programu SQL Server jest zablokowany. Aby uzyskać więcej informacji zobaczPunkty kontrolne i aktywna część dziennika.

    Zapisu z opóźnieniem, chcesz pisania i procesów punkt kontrolny nie poczekać na zakończenie operacji We/Wy.Zawsze ich używać we/wy asynchroniczne (lub nakładające się) i kontynuować wykonywanie innych prac później sprawdzanie powodzenia We/Wy.Dzięki temu SQL Server Aby zmaksymalizować zasobów PROCESORA i we/wy dla odpowiednich zadań.

See Also

Concepts