Поделиться через


КОНТРОЛЬНАЯ ТОЧКА (Transact-SQL)

Применимо к:SQL ServerБаза данных Azure SQLУправляемый экземпляр Azure SQLБаза данных SQL в предварительной версии Microsoft Fabric

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

Подсказка

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

Соглашения о синтаксисе Transact-SQL

Syntax

CHECKPOINT [ checkpoint_duration ]  

Arguments

checkpoint_duration

Задается запрашиваемое количество времени в секундах для завершения ручной контрольной точки.

Параметр checkpoint_duration является дополнительным параметром.

При указании checkpoint_duration SQL Server ядро СУБД пытается выполнить контрольную точку в течение запрошенной длительности.

Аргумент checkpoint_duration должен быть выражением типа int и должен быть больше нуля.

Если этот параметр опущен, ядро СУБД настраивает длительность контрольной точки, чтобы свести к минимуму влияние производительности на приложения базы данных.

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

Количество времени, необходимое для операции выполнения контрольной точки, увеличивается с возрастанием количества «грязных» страниц, которые необходимо записать операции. По умолчанию, чтобы свести к минимуму влияние производительности на другие приложения, 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 инструкция возвращается немедленно после завершения контрольной точки. Поэтому в некоторых случаях контрольная точка может завершиться раньше указанной длительности или может выполняться дольше указанной длительности.

Permissions

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