sys.dm_cdc_log_scan_sessions (Transact-SQL)
Restituisce una riga per ogni sessione di analisi dei log nel database corrente. L'ultima riga restituita rappresenta la sessione corrente. È possibile utilizzare questa vista per restituire le informazioni sullo stato relative alla sessione di analisi dei log corrente o informazioni aggregate relative a tutte le sessioni dall'ultimo avvio dell'istanza di SQL Server.
Nome colonna |
Tipo di dati |
Descrizione |
||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
session_id |
int |
ID della sessione. 0 = i dati restituiti in questa riga costituiscono un'aggregazione di tutte le sessioni dall'ultimo avvio dell'istanza di SQL Server. |
||||||||||||||||||
start_time |
datetime |
Ora di inizio della sessione. Quando session_id = 0, rappresenta l'ora di inizio della raccolta dei dati aggregati. |
||||||||||||||||||
end_time |
datetime |
Ora di fine della sessione. NULL = la sessione è attiva. Quando session_id = 0, rappresenta l'ora di fine dell'ultima sessione. |
||||||||||||||||||
duration |
bigint |
Durata della sessione espressa in secondi. 0 = la sessione non contiene transazioni di acquisizione dei dati delle modifiche. Quando session_id = 0, rappresenta la somma della durata (in secondi) di tutte le sessioni con transazioni di acquisizione dei dati delle modifiche. |
||||||||||||||||||
scan_phase |
nvarchar(200) |
La fase corrente della sessione. Uno dei valori seguenti:
Quando session_id = 0, questo valore indica sempre "Aggregazione". |
||||||||||||||||||
error_count |
int |
Numero di errori. Quando session_id = 0, rappresenta il numero complessivo di errori in tutte le sessioni. |
||||||||||||||||||
start_lsn |
nvarchar(23) |
Avvio di LSN per la sessione. Quando session_id = 0, rappresenta il numero LSN iniziale per l'ultima sessione. |
||||||||||||||||||
current_lsn |
nvarchar(23) |
LSN corrente in corso di analisi. Quando session_id = 0, il numero LSN corrente è 0. |
||||||||||||||||||
end_lsn |
nvarchar(23) |
Numero LSN finale per la sessione. NULL = la sessione è attiva. Quando session_id = 0, rappresenta il numero LSN finale per l'ultima sessione. |
||||||||||||||||||
tran_count |
bigint |
Numero di transazioni di acquisizione dei dati delle modifiche elaborate. Questo contatore viene popolato durante la fase 2. Quando session_id = 0, rappresenta il numero di transazioni elaborate in tutte le sessioni. |
||||||||||||||||||
last_commit_lsn |
nvarchar(23) |
LSN dell'ultimo record di log del commit elaborato. Quando session_id = 0, rappresenta l'ultimo LSN del record di log del commit per qualsiasi sessione. |
||||||||||||||||||
last_commit_time |
datetime |
Ora di elaborazione dell'ultimo record di log del commit. Quando session_id = 0, rappresenta l'ora dell'ultimo record di log del commit per qualsiasi sessione. |
||||||||||||||||||
log_record_count |
bigint |
Numero dei record di log analizzati. Quando session_id = 0, rappresenta il numero di record analizzati in tutte le sessioni. |
||||||||||||||||||
schema_change_count |
int |
Numero di operazioni DDL (Data Definition Language) rilevate. Questo contatore viene popolato durante la fase 6. Quando session_id = 0, rappresenta il numero di operazioni DDL elaborate in tutte le sessioni. |
||||||||||||||||||
command_count |
bigint |
Numero di comandi elaborati. Quando session_id = 0, rappresenta il numero di comandi elaborati in tutte le sessioni. |
||||||||||||||||||
first_begin_cdc_lsn |
nvarchar(23) |
Primo numero LSN contenente transazioni di acquisizione dei dati delle modifiche. Quando session_id = 0, rappresenta il primo numero LSN contenente transazioni di acquisizione dei dati delle modifiche. |
||||||||||||||||||
last_commit_cdc_lsn |
nvarchar(23) |
Numero LSN dell'ultimo record di log del commit contenente transazioni di acquisizione dei dati delle modifiche. Quando session_id = 0, rappresenta l'ultimo LSN del record di log del commit per qualsiasi sessione contenente transazioni di acquisizione dei dati delle modifiche |
||||||||||||||||||
last_commit_cdc_time |
datetime |
Ora di elaborazione dell'ultimo record di log del commit contenente transazioni di acquisizione dei dati delle modifiche. Quando session_id = 0, rappresenta l'ora dell'ultimo record di log del commit per qualsiasi sessione contenente transazioni di acquisizione dei dati delle modifiche. |
||||||||||||||||||
latenza |
int |
La differenza, in secondi, tra end_time e last_commit_cdc_time della sessione. Questo contatore viene popolato al termine della fase 7. Quando session_id = 0, rappresenta l'ultimo valore di latenza diverso da zero registrato da una sessione. |
||||||||||||||||||
empty_scan_count |
int |
Numero di sessioni consecutive che non contengono transazioni di acquisizione dei dati delle modifiche. |
||||||||||||||||||
failed_sessions_count |
int |
Numero di sessioni non riuscite. |
Osservazioni
I valori in questa vista a gestione dinamica vengono reimpostati ogni volta che l'istanza di SQL Server viene avviata.
Autorizzazioni
È richiesta l'autorizzazione VIEW DATABASE STATE per eseguire query sulla vista a gestione dinamica sys.dm_cdc_log_scan_sessions. Per ulteriori informazioni sulle autorizzazioni per le viste a gestione dinamica, vedere Funzioni e viste a gestione dinamica (Transact-SQL).
Esempi
Nell'esempio seguente vengono restituite informazioni relative alla sessione più recente.
USE AdventureWorks2012;
GO
SELECT session_id, start_time, end_time, duration, scan_phase
error_count, start_lsn, current_lsn, end_lsn, tran_count
last_commit_lsn, last_commit_time, log_record_count, schema_change_count
command_count, first_begin_cdc_lsn, last_commit_cdc_lsn,
last_commit_cdc_time, latency, empty_scan_count, failed_sessions_count
FROM sys.dm_cdc_log_scan_sessions
WHERE session_id = (SELECT MAX(b.session_id) FROM sys.dm_cdc_log_scan_sessions AS b);
GO