Udostępnij za pomocą


CHECKPOINT (Transact-SQL)

Dotyczy:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceBaza danych SQL w usłudze Microsoft Fabric

Generuje ręczny punkt kontrolny w bazie danych programu SQL Server, z którą aktualnie nawiązane połączenie.

Wskazówka

Aby uzyskać ogólne informacje o różnych typach punktów kontrolnych bazy danych i operacji punktu kontrolnego, zobacz Punkty kontrolne bazy danych (SQL Server).

Transact-SQL konwencje składni

Syntax

CHECKPOINT [ checkpoint_duration ]  

Arguments

checkpoint_duration

Określa żądaną ilość czasu (w sekundach) dla ręcznego punktu kontrolnego do ukończenia.

checkpoint_duration jest opcją zaawansowaną.

Po określeniu checkpoint_duration aparat bazy danych programu SQL Server próbuje wykonać punkt kontrolny w żądanym czasie trwania.

Checkpoint_duration musi być wyrażeniem typu int i musi być większe niż zero.

Po pominięciu tego parametru aparat bazy danych dostosowuje czas trwania punktu kontrolnego, aby zminimalizować wpływ na wydajność aplikacji bazy danych.

Czynniki wpływające na czas trwania operacji punktu kontrolnego

Ogólnie rzecz biorąc, czas wymagany do wykonania operacji punktu kontrolnego zwiększa się wraz z liczbą zanieczyszczonych stron, które operacja musi zapisywać. Domyślnie, aby zminimalizować wpływ na wydajność innych aplikacji, program SQL Server dostosowuje częstotliwość zapisu wykonywaną przez operację punktu kontrolnego. Zmniejszanie częstotliwości zapisu zwiększa czas wymagany do ukończenia operacji punktu kontrolnego. Program SQL Server używa tej strategii dla ręcznego punktu kontrolnego, chyba że w poleceniu określono CHECKPOINT.

Wpływ na wydajność korzystania z checkpoint_duration zależy od liczby zanieczyszczonych stron, aktywności systemu i rzeczywistego określonego czasu trwania.

  • Jeśli na przykład punkt kontrolny będzie normalnie ukończony w ciągu 120 sekund, określenie checkpoint_duration z 45 sekund powoduje, że program SQL Server przeznaczy więcej zasobów na punkt kontrolny, niż domyślnie zostanie przypisany.

  • Natomiast określenie checkpoint_duration 180 sekund spowoduje, że program SQL Server przypisze mniej zasobów niż domyślnie.

Ogólnie rzecz biorąc, krótki checkpoint_duration zwiększy zasoby poświęcone punktowi kontrolnemu, podczas gdy długi checkpoint_duration zmniejszy zasoby poświęcone punktowi kontrolnemu. Program SQL Server zawsze wykonuje punkt kontrolny, jeśli to możliwe, a CHECKPOINT instrukcja zwraca natychmiast po zakończeniu punktu kontrolnego. W związku z tym w niektórych przypadkach punkt kontrolny może zostać ukończony wcześniej niż określony czas trwania lub może działać dłużej niż określony czas trwania.

Permissions

CHECKPOINT uprawnienia domyślne dla członków stałej roli serwera sysadmin oraz db_owner i db_backupoperator stałych ról bazy danych i nie są przenoszone.