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. I valori possibili sono:
FaseDescrizione
1Lettura della configurazione
2Prima analisi, compilazione della tabella hash
3Seconda analisi
4Seconda analisi
5Seconda analisi
6Controllo delle versioni dello schema
7Ultima analisi
8Fine
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 AdventureWorks2008R2;
GO
SELECT *
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