Condividi tramite


CHECKPOINT (Transact-SQL)

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

[!NOTA]

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

Icona di collegamento a un argomento Convenzioni della sintassi Transact-SQL

Sintassi

CHECKPOINT [ checkpoint_duration ]

Argomenti

  • checkpoint_duration
    Specifica il numero di secondi disponibili per il completamento manuale del checkpoint. Se si specifica checkpoint_duration, 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 deve essere 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. checkpoint_duration è un'opzione avanzata.

Fattori che incidono sulla durata delle operazioni di 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. In SQL Server viene utilizzata questa strategia per un checkpoint manuale a meno che il valore di checkpoint_duration non venga specificato nel comando CHECKPOINT.

L'impatto sulle prestazioni derivante dall'utilizzo 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à. In SQL Server un checkpoint, se possibile, viene sempre completato e l'istruzione CHECKPOINT restituisce immediatamente un risultato al completamento del checkpoint. In alcuni casi, quindi, un checkpoint può venire completato prima o dopo il periodo di tempo indicato.

Sicurezza

Autorizzazioni

Le autorizzazioni per l'istruzione CHECKPOINT vengono assegnate per impostazione predefinita ai membri del ruolo predefinito del server sysadmin e dei ruoli predefiniti del database db_owner e db_backupoperator e non sono trasferibili.

Vedere anche

Riferimento

ALTER DATABASE (Transact-SQL)

SHUTDOWN (Transact-SQL)

Concetti

Checkpoint di database (SQL Server)

Configurare l'opzione di configurazione del server recovery interval