CHECKPOINT (Transact-SQL)

Создает ручную контрольную точку в базе данных SQL Server, с которой в данный момент установлено соединение.

ПримечаниеПримечание

Сведения о различных типах контрольных точек баз данных и работе контрольных точек в целом см. в разделе Контрольные точки базы данных (SQL Server).

Значок ссылки на раздел Синтаксические обозначения в Transact-SQL

Синтаксис

CHECKPOINT [ checkpoint_duration ]

Аргументы

  • checkpoint_duration
    Задается запрашиваемое количество времени в секундах для завершения ручной контрольной точки. Если задан аргумент checkpoint_duration, компонент Компонент SQL Server Database Engine пытается выполнить контрольную точку в течение запрашиваемого периода времени. Аргумент checkpoint_duration должен быть выражением типа int и должен быть больше нуля. Если этот аргумент опущен, компонент Компонент Database Engine настраивает длительность выполнения контрольной точки таким образом, чтобы минимизировать влияние на производительность приложений базы данных. Параметр checkpoint_duration является дополнительным параметром.

Факторы, влияющие на длительность операций выполнения контрольных точек

Количество времени, необходимое для операции выполнения контрольной точки, увеличивается с возрастанием количества «грязных» страниц, которые необходимо записать операции. По умолчанию SQL Server регулирует частоту операций записи, которые выполняет контрольная точка, для минимизации влияния на производительность. Уменьшение частоты записи увеличивает время, необходимое для завершения операции выполнения контрольной точки. SQL Server применяет эту стратегию при работе с ручными контрольными точками, если только в команде CHECKPOINT не задано значение checkpoint_duration.

Влияние на производительность использования аргумента checkpoint_duration зависит от количества «грязных» страниц, уровня активности в системе и фактической задаваемой величины длительности. Например, если обычно для завершения операции выполнения контрольной точки необходимо 120 секунд, задание для аргумента checkpoint_duration величины 45 секунд ведет к тому, что серверу SQL Server будет необходимо выделить контрольной точке большее количество ресурсов, чем количество, задаваемое по умолчанию. И наоборот, в результате задания для аргумента checkpoint_duration значения в 180 секунд SQL Server будет выделять меньшее количество ресурсов, чем количество по умолчанию. В целом, меньшее значение аргумента checkpoint_duration увеличивает объем ресурсов, выделяемых контрольной точке, а большее значение аргумента checkpoint_duration уменьшает объем выделяемых ресурсов. SQL Server всегда, если это возможно, завершает обработку контрольной точки, а инструкция CHECKPOINT возвращает управление сразу же по завершении обработки контрольной точки. Следовательно, в некоторых случаях выполнение контрольной точки может завершиться быстрее, чем заданный период времени, или выполняться дольше этого периода.

Безопасность

Разрешения

Разрешения CHECKPOINT по умолчанию предоставляются членам предопределенной роли сервера sysadmin и предопределенных ролей базы данных db_owner и db_backupoperator, и эти разрешения передаваться не могут.

См. также

Справочник

ALTER DATABASE (Transact-SQL)

SHUTDOWN (Transact-SQL)

Основные понятия

Контрольные точки базы данных (SQL Server)

Настройка параметра конфигурации сервера recovery interval