sys.dm_db_xtp_checkpoint_stats (Transact-SQL)
Si applica a: SQL Server Database SQL di Azure Istanza gestita di SQL di Azure
Restituisce le statistiche relative alle operazioni checkpoint OLTP in memoria del database corrente. Se il database non dispone di oggetti OLTP in memoria, sys.dm_db_xtp_checkpoint_stats
restituisce un set di risultati vuoto.
Per altre informazioni, vedere OLTP in memoria (ottimizzazione per la memoria).
USE [In_Memory_db_name]
SELECT * FROM sys.dm_db_xtp_checkpoint_stats;
SQL Server 2014 (12.x) è sostanzialmente diverso dalle versioni più recenti e viene discusso separatamente.
La tabella seguente descrive le colonne in sys.dm_db_xtp_checkpoint_stats
, per SQL Server 2016 (13.x) e versioni successive.
Nome colonna | Tipo | Descrizione |
---|---|---|
last_lsn_processed |
bigint | Ultimo LSN visualizzato dal controller. |
end_of_log_lsn |
numeric(38) | LSN della fine del log. |
bytes_to_end_of_log |
bigint | Byte di log non elaborati dal controller, corrispondenti ai byte tra last_lsn_processed e end_of_log_lsn . |
log_consumption_rate |
bigint | Frequenza del consumo del log delle transazioni da parte del controller (in KB/sec). |
active_scan_time_in_ms |
bigint | Tempo impiegato dal controller per l'analisi attiva del log delle transazioni. |
total_wait_time_in_ms |
bigint | Tempo di attesa cumulativo per il controller durante l'analisi del log. |
waits_for_io |
bigint | Numero di attese di I/O del log sostenute dal thread del controller. |
io_wait_time_in_ms |
bigint | Tempo cumulativo impiegato per l'attesa dell'I/O del log dal thread del controller. |
waits_for_new_log_count |
bigint | Numero di attese sostenute dal thread del controller per la generazione di un nuovo log. |
new_log_wait_time_in_ms |
bigint | Tempo cumulativo impiegato in attesa di un nuovo log dal thread del controller. |
idle_attempts_count |
bigint | Numero di volte in cui il controller è passato a uno stato di inattività. |
tx_segments_dispatched |
bigint | Numero di segmenti visualizzati dal controller e inviati ai serializzatori. Segmento è una parte contigua del log che costituisce un'unità di serializzazione. Attualmente è di dimensioni pari a 1 MB, ma può cambiare in futuro. |
segment_bytes_dispatched |
bigint | Numero totale di byte inviati dal controller ai serializzatori, dal riavvio del database. |
bytes_serialized |
bigint | Numero totale di byte serializzati dopo il riavvio del database. |
serializer_user_time_in_ms |
bigint | Tempo impiegato dai serializzatori in modalità utente. |
serializer_kernel_time_in_ms |
bigint | Tempo impiegato dai serializzatori in modalità kernel. |
xtp_log_bytes_consumed |
bigint | Numero totale di byte di log utilizzati dopo il riavvio del database. |
checkpoints_closed |
bigint | Numero di checkpoint chiusi dopo il riavvio del database. |
last_closed_checkpoint_ts |
bigint | Timestamp dell'ultimo checkpoint chiuso. |
hardened_recovery_lsn |
numeric(38) | Il ripristino inizia da questo LSN. |
hardened_root_file_guid |
uniqueidentifier | GUID del file radice con protezione avanzata in seguito all'ultimo checkpoint completato. |
hardened_root_file_watermark |
bigint | Solo interno. Specifica la distanza di lettura del file radice fino a (si tratta di un solo tipo rilevante internamente, denominato BSN). |
hardened_truncation_lsn |
numeric(38) | LSN del punto di troncamento. |
log_bytes_since_last_close |
bigint | Byte dall'ultimo vicino alla fine corrente del log. |
time_since_last_close_in_ms |
bigint | Ora dall'ultima chiusura del checkpoint. |
current_checkpoint_id |
bigint | Attualmente vengono assegnati nuovi segmenti a questo checkpoint. Il sistema di checkpoint è una pipeline. Il checkpoint corrente è quello a cui vengono assegnati i segmenti del log. Una volta raggiunto un limite, il controller rilascia il checkpoint e uno nuovo creato come corrente. |
current_checkpoint_segment_count |
bigint | Numero di segmenti nel checkpoint corrente. |
recovery_lsn_candidate |
bigint | Solo internamente. Candidato da selezionare come recoverylsn quando current_checkpoint_id si chiude. |
outstanding_checkpoint_count |
bigint | Numero di checkpoint nella pipeline in attesa di chiusura. |
closing_checkpoint_id |
bigint | ID del checkpoint di chiusura. I serializzatori funzionano in parallelo, quindi al termine, il checkpoint è un candidato per la chiusura tramite thread di chiusura. Ma il thread di chiusura può chiudere uno alla volta e deve essere in ordine, quindi il checkpoint di chiusura è quello su cui il thread di chiusura sta lavorando. |
recovery_checkpoint_id |
bigint | ID del checkpoint da usare nel ripristino. |
recovery_checkpoint_ts |
bigint | Timestamp del checkpoint di ripristino. |
bootstrap_recovery_lsn |
numeric(38) | LSN di ripristino per il bootstrap. |
bootstrap_root_file_guid |
uniqueidentifier | GUID del file radice per il bootstrap. |
internal_error_code |
bigint | Errore rilevato da qualsiasi controller, serializzatore, chiusura e unione di thread. |
bytes_of_large_data_serialized |
bigint | Specifica la quantità di dati serializzati. |
db_in_checkpoint_only_mode |
bit | True se il database è in modalità solo checkpoint OLTP in memoria. Si applica a: SQL Server 2022 (16.x) e versioni successive. |
Autorizzazioni
SQL Server 2019 (15.x) e versioni precedenti richiedono VIEW DATABASE STATE
l'autorizzazione per il database.
SQL Server 2022 (16.x) e versioni successive richiedono VIEW DATABASE PERFORMANCE STATE
l'autorizzazione per il database.
Contenuto correlato
- Introduzione alle tabelle con ottimizzazione per la memoria
- Viste a gestione dinamica delle tabelle ottimizzate per la memoria (Transact-SQL)
- Panoramica e scenari di utilizzo OLTP in memoria
- Ottimizzare le prestazioni usando tecnologie in memoria in database SQL di Azure
- Ottimizzare le prestazioni usando tecnologie in memoria in Istanza gestita di SQL di Azure