Condividi tramite


CHECKPOINT (Transact-SQL)

Si applica a:SQL ServerDatabase SQL di AzureIstanza gestita di SQL di AzureDatabase SQL in Microsoft Fabric

Genera un checkpoint manuale nel database di SQL Server al quale l'utente è attualmente connesso.

Suggerimento

Per informazioni sui diversi tipi di checkpoint del database e sulle operazioni di checkpoint in generale, vedere Checkpoint del database (SQL Server).

Convenzioni relative alla sintassi Transact-SQL

Syntax

CHECKPOINT [ checkpoint_duration ]  

Arguments

checkpoint_duration

Specifica il numero di secondi disponibili per il completamento manuale del checkpoint.

L'opzione checkpoint_duration è un'opzione avanzata.

Se si specifica checkpoint_duration, il motore di database di SQL Server cerca di eseguire il checkpoint nell'arco di tempo specificato.

Il valore di checkpoint_duration deve essere un'espressione di tipo int e maggiore di zero.

Se si omette questo parametro, tramite il motore di database viene adeguata automaticamente la durata del checkpoint per ridurre al minimo l'impatto sulle prestazioni nelle applicazioni di database.

Fattori che influiscono sulla durata delle operazioni del checkpoint

In generale il tempo necessario per l'esecuzione di un'operazione di checkpoint aumenta con il numero di pagine dirty che l'operazione deve scrivere. Per impostazione predefinita, per ridurre l'impatto sulle prestazioni su altre applicazioni in SQL Server viene regolata la frequenza di scritture che un'operazione di checkpoint esegue. Se si riduce la frequenza delle scritture, aumenta il tempo necessario per completare l'operazione di checkpoint. SQL Server usa questa strategia per un checkpoint manuale, a meno che non venga specificato un valore checkpoint_duration nel CHECKPOINT comando .

L'impatto sulle prestazioni derivante dall'uso di checkpoint_duration dipende dal numero di pagine dirty, dall'attività del sistema e dalla durata effettiva specificata.

  • Se ad esempio il checkpoint viene normalmente completato in 120 secondi e si imposta checkpoint_duration su 45 secondi, SQL Server deve dedicare al checkpoint più risorse di quante verrebbero assegnate per impostazione predefinita.

  • Se invece si imposta checkpoint_duration su 180 secondi, SQL Server assegna meno risorse di quante ne verrebbero assegnate per impostazione predefinita.

In generale, un valore breve di checkpoint_duration aumenterà le risorse dedicate al checkpoint, mentre un valore elevato di checkpoint_duration le ridurrà. SQL Server completa sempre un checkpoint, se possibile, e l'istruzione CHECKPOINT restituisce immediatamente al termine di un checkpoint. Pertanto, in alcuni casi, un checkpoint può essere completato prima della durata specificata o potrebbe essere eseguita più a lungo della durata specificata.

Permissions

CHECKPOINT Le autorizzazioni predefinite sono membri del ruolo predefinito del server sysadmin e del db_owner e db_backupoperator ruoli predefiniti del database e non sono trasferiscibili.