Punkty kontrolne i aktywna część dziennika

Punkty kontrolne opróżnić stron dirty danych z buforu pamięci podręcznej bieżącej bazy danych na dysku.Minimalizuje aktywna część dziennika, które muszą być przetwarzane podczas pełnego odzyskiwanie bazy danych.Podczas pełnego odzyskiwanie wykonywane są następujące rodzaje działań:

  • Rekordy dziennika zmian nie opróżniane przed zatrzymania systemu są przywracane do przodu.

  • Wszystkie modyfikacje związane z nieukończone transakcje, takie jak transakcje, dla których nie istnieje COMMIT lub ROLLBACK dziennika, są przywracane.

Operacja punktu kontrolnego

Punkt kontrolny wykonuje następujące procesy w bazie danych:

  • Zapisuje rekord w pliku dziennika znakowania start punkt kontrolny.

  • Przechowuje informacje rejestrowane dla punkt kontrolny w łańcuchu rekordów dziennika w punkcie kontrolnym.

    Jeden zestaw informacji w punkt kontrolny jest numer sekwencyjny dziennika (LSN) pierwszego rekordu dziennika, który musi być obecny dla pomyślnego wycofywania całej bazy danych.LSN ten jest nazywany LSN odzyskiwania Minimum (MinLSN).MinLSN jest minimum:

    • LSN start punkt kontrolny.

    • LSN start aktywną transakcję.

    • LSN start najstarsze transakcji replikacja, która jeszcze nie zostały dostarczone do baza danych dystrybucji.

    Rekordy punkt kontrolny zawierają również listę wszystkich aktywnych transakcji, które zostały zmodyfikowane w bazie danych.

  • Jeśli baza danych używa model odzyskiwanie prostego, znaczniki do ponownego wykorzystania obszaru poprzedza MinLSN.

  • Zapisuje wszystkie zmienione strony danych i dziennika na dysku.

  • Zapisuje rekord końcowego punkt kontrolny w pliku dziennika znakowania.

  • Zapisuje LSN start ten łańcuch strona bazy danych rozruchu.

Działania, które powodują punktu kontrolnego

Punkty kontrolne występować w następujących sytuacjach:

  • Jawnie wykonaniu instrukcja punktu kontrolnego.Punkt kontrolny występuje w bieżącej bazie danych dla połączenia.

  • Minimalny zarejestrowane operacja jest wykonywana w bazie danych; na przykład operacja masowego kopiowania jest wykonywana na bazie używa Bulk-Logged model odzyskiwanie.

  • Pliki bazy danych zostały dodane lub usunięte przy użyciu ALTER DATABASE.

  • Wystąpienie SQL Server jest zatrzymywana przez zamknięcie instrukcja lub zatrzymywanie SQL Server (MSSQLSERVER) usługa.Albo akcja powoduje, że punkt kontrolny w każdej bazie danych w wystąpienie z SQL Server.

  • Wystąpienie SQL Server Okresowo generuje automatyczne kontrolnych w każdej bazy danych, aby skrócić czas wystąpienia zajmie się odzyskać bazy danych.

  • Kopia zapasowa bazy danych jest pobierana.

  • Działania wymagające zamykania bazy danych jest wykonywane.Na przykład AUTO_CLOSE jest włączone i zamknięte ostatnie połączenie użytkownika do bazy danych lub bazy danych opcji zmianie wymagającego ponownego uruchomienia bazy danych.

Automatyczne punktów kontrolnych

Aparat baz danych programu SQL Server Generuje automatyczne punktów kontrolnych.Interwał między punktami kontrolnymi automatyczne opiera się na ilość miejsca dziennika i czas, jaki upłynął od momentu ostatniego punkt kontrolny.czas Interwał między punktami kontrolnymi automatyczne może być bardzo zmienny i długie, jeżeli kilka zmian w bazie danych.Automatyczne punkty kontrolne mogą również występować często modyfikowany większych ilości danych.

Użyj interwał odzyskiwanie opcji konfiguracja serwera do obliczania interwał automatycznego punkty kontrolne dla wszystkich baz danych w wystąpieniu serwera.Ta opcja określa maksymalny czas Aparat baz danych należy używać do odzyskać bazy danych podczas ponownego uruchomienia systemu. Aparat baz danych Szacuje liczbę rekordów dziennika można przetwarzać w interwał odzyskiwanie podczas operacji odzyskiwanie.

Interwał między punktami kontrolnymi automatyczne zależy również od model odzyskiwanie:

  • Jeśli baza danych używa modelu odzyskiwanie Pełny lub bulk-logged, automatyczne checkpoint jest generowany, gdy liczba rekordów dziennika osiągnie liczbę Aparat baz danych szacunki może przetwarzać podczas czas określonych w odzyskiwanie interwał opcji.

  • Jeśli baza danych jest z model odzyskiwanie prostego, automatyczne punkt kontrolny jest generowany, gdy liczba rekordów dziennika osiągnie mniejszą z tych dwóch wartości:

    • Dziennik staje się 70 procent.

    • Liczba rekordów dziennika osiągnie liczbę Aparat baz danych szacunki może przetwarzać podczas czas określonych w odzyskiwanie interwał opcji.

Informacje na temat ustawienia interwał odzyskiwanie, zobacz Jak Ustawianie interwału odzyskiwania (SQL Server Management Studio).

Automatyczne punkty kontrolne obciąć niewykorzystane części dziennika transakcji używania bazy danych model odzyskiwanie prostego.Jednak baza danych jest przy użyciu modelu odzyskiwanie Pełny lub bulk-logged, nie obcięte dziennika przez automatyczne punktów kontrolnych.Aby uzyskać więcej informacji, zobacz Obcinania dziennika transakcji.

Teraz instrukcja punktu kontrolnego zawiera opcjonalny checkpoint_duration argument, który określa żądany czas czas, w sekundach, dla punktów kontrolnych do zakończenia.Aby uzyskać więcej informacji, zobacz Punkt kontrolny (Transact-SQL).

Aktywnego dziennika

Sekcja pliku dziennika z MinLSN do rekordu dziennika zapisywane ostatniego nazywany jest aktywna część dziennika, lub aktywnego dziennika.Jest to sekcja dziennika wymaga pełnego odzyskiwanie bazy danych.Żadna część aktywnego dziennika kiedykolwiek mogą być skrócone.Wszystkie rekordy dziennika musi zostać obcięta z części dziennika przed MinLSN.

Na poniższej ilustracji przedstawiono uproszczoną wersja dziennika koniec z transakcji z dwóch aktywnych transakcji.Punkt kontrolny rekordy mają zostały skompaktować, aby pojedynczego rekordu.

dziennik końca transakcji z aktywnymi transakcjami

LSN 148 jest ostatni rekord w dzienniku transakcji.W czas zarejestrowanego punkt kontrolny na LSN 147 zostało przetworzone, 1 transakcji zostały popełnione i 2 transakcji została tylko aktywnych transakcji.Który uaktywnia pierwszego rekordu dziennika transakcji 2 najstarszego rekordu dziennika transakcji na czas z ostatniego punkt kontrolny.Dzięki temu LSN 142, rekord rozpoczęcia transakcji dla transakcji 2, MinLSN.

Długotrwały transakcji

Aktywnego dziennika musi zawierać każdej części wszystkie niezakończone transakcje.Aplikacja uruchamia zatwierdzanie i nie zatwierdzić lub rolki go uniemożliwia Aparat baz danych z przejściem MinLSN.Może to spowodować problemy z dwóch typów:

  • Jeśli system zostanie zamknięty po transakcji wykonał wiele modyfikacji niewykonane, odzyskiwanie fazy późniejsze ponowne uruchomienie może być znacznie dłuższy niż czas określony w interwał odzyskiwanie opcji.

  • Dziennik może rosnąć bardzo duża, ponieważ dziennika nie może być obcięta w przeszłości MinLSN.Dzieje się tak nawet wtedy, gdy baza danych jest za pomocą model odzyskiwanie prostego, w którym dziennik transakcji jest ogólnie obcięte w każdym punkcie kontrolnym automatyczne.

Transakcje replikacji

Agent czytnik dziennika monitoruje dziennik transakcji każdej bazy danych, skonfigurowane dla replikacja transakcyjna, i kopiuje go transakcje zaznaczone do replikacja z dziennika transakcji do baza danych dystrybucji.Aktywnego dziennika musi zawierać wszystkie transakcje oznaczone w replikacja, ale nie zostały jeszcze dostarczone do baza danych dystrybucji.Jeśli te transakcje nie są replikowane w odpowiednim czasie, uniemożliwiać obcinania dziennika.Aby uzyskać więcej informacji, zobacz Transakcyjne jak działa replikacja.