Punkt kontrolny (Transact-SQL)

Zapisuje wszystkie zmienione strony w bieżącej bazie danych na dysku.Dirty stron są strony danych, które zostały wprowadzone do bufora pamięci podręcznej i zmodyfikowany, ale nie zostały jeszcze zapisane na dysku.Punkty kontrolne zaoszczędzić czas podczas późniejszego odzyskiwanie przez utworzenie punktu, w którym wszystkie strony dirty gwarantowana zostały zapisane na dysku.

Ikona łącza do tematuJęzyka Transact-SQL składni konwencje

Składnia

CHECKPOINT [ checkpoint_duration ]

Argumenty

  • checkpoint_duration
    Określa żądany czasw sekundach dla punkt kontrolny do wykonania.Gdy checkpoint_duration jest określony, Aparat baz danych programu SQL Server próbuje wykonać punkt kontrolny w żądany czas trwania.checkpoint_duration Musi być wyrażenie typu inti musi być większa od zera.Jeżeli pominięto ten parametr, Aparat baz danych programu SQL Server automatycznie dostosowuje czas trwania punkt kontrolny , aby zminimalizować wpływ na wydajność bazy danych aplikacji.

    Ostrzeżenie

    W SQL Server 2000, ramy czasowe dla procesu punkt kontrolny została oparta na sp_configure ustawienie INTERWAŁU odzyskiwania.

Uwagi

Ze względu na wydajność Aparat baz danych wykonuje modyfikacji do bazy danych stron w pamięci i nie zapisuje strona na dysku po każdej zmianie.Jednak okresowo Aparat baz danych musi wykonać punkt kontrolny do pisania tych dirty stron na dysku.Zapisywanie stron dirty dysku tworzy znany dobry punkt, z którego Aparat baz danych można rozpocząć stosowanie zmian zawartych w dzienniku podczas odzyskiwanie po nieoczekiwanym zamknięciu systemu lub awarii.Aby uzyskać więcej informacji, zobacz Punkty kontrolne i aktywna część dziennika.

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

Aparat baz danych Nie można odzyskać przerwanej punkt kontrolny.Jeśli przerwane punkt kontrolny i odzyskiwanie wymagane, a następnie Aparat baz danych należy uruchomić odzyskiwanie z poprzedniego punkt kontrolnyw pomyślne.

Zdarzenia, które powodują punktów kontrolnych

Przed bazy danych kopia zapasowa Aparat baz danych automatycznie wykonuje punkt kontrolny , tak aby wszystkie zmiany strony bazy danych są zawarte w kopia zapasowa.Ponadto punkty kontrolne występować automatycznie kiedy jeden z następujących warunków:

  • Aktywna część dziennika przekracza rozmiar, które serwer może odzyskać z czas określonego w odzyskiwanieInterwał opcji konfiguracja serwera.

  • Dziennik 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 używa modelu proste odzyskiwanie i po wykonaniu ostatniej kopii zapasowej bazy danych instrukcja , która odwołuje się do bazy danych, występuje jedno z następujących zdarzeń:

    • Minimalny zestaw zarejestrowane operacja jest wykonywana w bazie danych, takie jak operacji zarejestrowane minimalny zestaw kopiowanie masowe lub minimalny zarejestrowanych WRITETEXT instrukcja jest wykonywana.

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

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

  • Za pomocą SQL Server Menedżer konfiguracji.

  • Using SQL Server Management Studio.

  • Za pomocą zamknięcia instrukcja.

Ostrzeżenie

ZAMKNIĘCIA Z NOWAIT instrukcja wyłączany niedziałający SQL Server bez wykonywania punkt kontrolny w każdej bazie danych.Może to spowodować dalsze Uruchom ponownie, aby zająć więcej czas niż zwykle odzyskać bazy danych na serwerze.

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

  • Za pomocą usługi w Panelu sterowania, zaznaczając mssqlserveri klikając Stop.

  • Dostosowanie wystąpienie w trybie offline w klastrze.

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

Ogólnie rzecz biorąc ilość czas dla operacji punkt kontrolny zwiększa się liczbę stron dirty musi zapisać operację.Aby zminimalizować spadek wydajności innych aplikacji SQL Server Domyślnie koryguje częstotliwości zapisów, które wykonuje operację punkt kontrolny .SQL Serverużywa tej strategii dla automatycznego punktów kontrolnych i wszelkie punktu kontrolnego instrukcja , że nie określa checkpoint_duration wartości.Zmniejszenie zwiększenie częstotliwości zapisu wymagane do zakończenia czas operacji punkt kontrolny .

Można użyć checkpoint_duration na żądanie, że operacja punkt kontrolny ukończona w określonym czas.Wpływ na wydajność korzystania z checkpoint_duration zależy od liczby stron dirty, działania systemu i rzeczywisty czas trwania określony.Na przykład, jeśli punkt kontrolny byłyby normalnie przeprowadzić w ciągu 120 sekund, określającą checkpoint_duration 45 sekund powoduje, że SQL Server przeznaczyć więcej zasobów do punkt kontrolny , nie będą przypisane domyślnieZ drugiej strony, określając checkpoint_duration 180 sekund powoduje, że SQL Server do przypisywania mniej zasobów niż byłyby przypisane domyślnieOgólnie, krótki checkpoint_duration zwiększy środki przeznaczone na punkt kontrolny, podczas long checkpoint_duration zmniejszy środki przeznaczone na punkt kontrolny.SQL Serverzawsze kończy punkt kontrolny , jeśli to możliwe i punktu kontrolnego instrukcja zwraca niezwłocznie po zakończeniu punkt kontrolny .W związku z tym w niektórych przypadkach punkt kontrolny może zakończyć się przed upływem określonego czasu lub uruchomienia dłuższy niż określony czas trwania.

Uprawnienia

Domyślne uprawnienia punktu kontrolnego dla członków sysadmin stała rola serwera i db_owner i db_backupoperator ról stałej bazy danych i są niezbywalne nie.