Condividi tramite


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:

Fase

Descrizione

1

Lettura della configurazione

2

Prima analisi, compilazione della tabella hash

3

Seconda analisi

4

Seconda analisi

5

Seconda analisi

6

Controllo delle versioni dello schema

7

Ultima analisi

8

Fine

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

Vedere anche

Riferimento

sys.dm_cdc_errors (Transact-SQL)