CHECKPOINT (Transact-SQL)

Si applica a:SQL Server database SQL di Azure Istanza gestita di SQL di Azure

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).

Convenzioni di sintassi Transact-SQL

Sintassi

CHECKPOINT [ checkpoint_duration ]  

Nota

Per visualizzare la sintassi Transact-SQL per SQL Server 2014 (12.x) e versioni precedenti, vedere la documentazione delle versioni precedenti.

Argomenti

checkpoint_duration
Specifica il numero di secondi disponibili per il completamento manuale del checkpoint. 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. L'opzione 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. SQL Server usa questa strategia per un checkpoint manuale, a meno che nel comando CHECKPOINT non venga specificato un valore checkpoint_duration.

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à. 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.

Vedi anche

ALTER DATABASE (Transact-SQL)
Checkpoint del database (SQL Server)
Configurare l'opzione di configurazione del server intervallo di recupero
SHUTDOWN (Transact-SQL)