Udostępnij za pośrednictwem


punkt kontrolny (języka Transact-SQL)

Zapisuje wszystkie zmienione strony dla bieżącej bazy danych na dysku.Zmienione strony są strony danych, które zostały wprowadzone do pamięci podręcznej buforu i zmodyfikowane, ale nie zostały jeszcze zapisane na 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.

Topic link iconKonwencje składni języka Transact-SQL

CHECKPOINT [ checkpoint_duration ]

Argumenty

  • checkpoint_duration
    Określa żądany przedział czas, w sekundach dla punkt kontrolny do zakończenia.Kiedy checkpoint_duration jest określony, SQL Server Database Engine próbuje wykonać punkt kontrolny w żądany czas trwania. The checkpoint_duration must be an wyrażenie of type int, and must be greater than zero.Kiedy ten parametr zostanie pominięty, SQL Server Database Engine automatycznie dostosowuje czas trwania punkt kontrolny, aby zminimalizować spadek wydajności w bazie danych aplikacji.

    Uwaga

    W SQL Server 2000, przedział czasu dla procesu punkt kontrolny została oparta na sp_configure Ustawienie INTERVAL przywrócenia.

Remarks

Ze względu na wydajność Database Engine wykonuje modyfikacje stron bazy danych w pamięci i nie zapisuje strona na dysku po każdej zmianie. Jednak okresowo Database Engine istnieje potrzeba wykonania punkt kontrolny, aby zapisać te strony zanieczyszczenia na dysku. Tworzenie stron zanieczyszczenia na dysku tworzy znany dobry punkt, z którego Database Engine można uruchomić stosując zmiany zawarte w dzienniku podczas odzyskiwanie po awarii lub nieoczekiwanego zamknięcia systemu. Aby uzyskać więcej informacji zobaczPunkty kontrolne i aktywna część dziennika.

Punkty kontrolne mogą wystąpić jednocześnie na dowolną liczbę baz danych.

The Database Engine cannot odzyskać from an interrupted punkt kontrolny. Jeśli punkt kontrolny zostanie przerwana i odzyskiwanie, a następnie Database Engine należy uruchomić odzyskiwanie z poprzedniego pomyślnego punkcie kontrolnym.

Zdarzenia, które powodować kontrolnych

Przed rozpoczęciem wykonywania kopia zapasowa bazy danych Database Engine automatycznie wykonuje punkt kontrolny, dzięki czemu wszystkie zmiany wprowadzone do stron bazy danych są zawarte w kopia zapasowa. Ponadto punktów kontrolnych odbywają się automatycznie kiedy występować jeden z następujących warunków:

  • The active portion of the log exceeds the size that the server could recover in the amount of time specified in the recoveryinterval server configuration option.

  • W dzienniku staje się 70 procent, a baza danych jest w trybie obcinania dziennika.

    Baza danych jest w trybie obcięciu dziennika, gdy oba te warunki są PRAWDZIWE: Baza danych jest za pomocą modelu odzyskiwanie prostego i po wykonaniu ostatniego wyciągu kopia zapasowa DATABASE, który odwołuje się do bazy danych, występuje jedno z następujących zdarzeń:

    • Minimalny zestaw zarejestrowane operacja jest wykonywana w bazie danych, takich jak kopiowanie minimalny zestaw zarejestrowane zbiorczej operacji lub zarejestrowane minimalny zestaw instrukcja WRITETEXT jest wykonywane.

    • Instrukcja ALTER DATABASE jest wykonywany, dodaje lub usuwa plik bazy danych.

Ponadto zatrzymywania serwera wystawia punkt kontrolny w każdej bazy danych na serwerze.Następujące metody zatrzymywania SQL Server punkty kontrolne należy wykonać dla każdej bazy danych:

  • Za pomocą SQL Server Menedżer konfiguracja.

  • Za pomocą SQL Server Management Studio.

  • Za pomocą instrukcja zamknięcia systemu.

Uwaga

Instrukcja zamknięcia WITH NOWAIT jest zamykany SQL Server bez wykonywania punkt kontrolny w każdej bazy danych. Może to spowodować kolejne ponownego uruchomienia w celu dłużej czas niż zwykle odzyskanie bazy danych na serwerze.

  • Za pomocą polecenie net stop mssqlserver polecenia w oknie wiersza polecenia.

  • Za pomocą usługi w Panelu sterowania, wybieranie MSSQLSERVERa klikaniaZatrzymaj.

  • Dostosowanie wystąpienie w trybie offline w klastrze.

Czynniki wpływającą na czas trwania operacji w punkcie kontrolnym.

Ogólnie rzecz biorąc ilość czas potrzebnego na operację punkt kontrolny zwiększa się liczba stron zabrudzony czy operacja musi zapisać.To minimize the performance impact on other applications, SQL Server by default adjusts the frequency of writes that a checkpoint operation performs.SQL Server uses this strategy for automatic checkpoints and for any CHECKPOINT statement that does not specify a checkpoint_duration value.Zmniejszenie częstotliwości zapisu wydłuża czas Operacja punkt kontrolny wymaga, aby zakończyć.

Można użyć checkpoint_duration na żądanie, że operacja punkt kontrolny zakończyć w określonym czasie. Wpływ wydajności przy użyciu checkpoint_duration zależy od liczby stron dirty, działania dotyczące systemu i rzeczywisty czas trwania określony. Na przykład, jeśli punkt kontrolny czy przeprowadzić zwykle w ciągu 120 sekund, określającą checkpoint_duration 45 sekund powoduje, że SQL Server punkt kontrolny, nie mogą być przypisane domyślnie przeznaczyć więcej zasobów. Z drugiej strony, określając checkpoint_duration z przyczyn 180 sekund SQL Server Aby przypisać mniejszą ilość zasobów nie mogą być przypisane domyślnie. In general, a short checkpoint_duration will increase the resources devoted to the checkpoint, while a long checkpoint_duration will reduce the resources devoted to the checkpoint.SQL Server always completes a checkpoint if possible, and the CHECKPOINT statement returns immediately when a checkpoint completes.W związku z tym w niektórych przypadkach punkt kontrolny może zakończyć się szybciej niż określony czas trwania lub mogą być dłuższe niż określony czas trwania.

Uprawnienia

Domyślne uprawnienia punkt kontrolny członkom sysadmin Rola serwera i db_owner and db_backupoperator stałe role bazy danych i nie są zbywalne.