sys.dm_cdc_log_scan_sessions (Transact-SQL)

Retourne une ligne pour chaque session d'analyse du journal dans la base de données actuelle. La dernière ligne retournée représente la session active. Vous pouvez utiliser cette vue pour retourner des informations d'état sur la session d'analyse du journal actuelle, ou des informations de synthèse sur toutes les sessions depuis le dernier démarrage de l'instance de SQL Server.

Nom de la colonne

Type de données

Description

session_id

int

ID de la session.

0 = les données retournées dans cette ligne sont un agrégat de toutes les sessions depuis le dernier démarrage de l'instance de SQL Server. 

start_time

datetime

Heure de début de la session.

Lorsque session_id = 0, heure de début de la collecte des données agrégées.

end_time

datetime

Heure de fin de la session.

NULL = la session est active.

Lorsque session_id = 0, heure de fin de la dernière session.

duration

bigint

Durée (en secondes) de la session.

0 = la session ne contient pas de transactions de capture des données modifiées.

Lorsque session_id = 0, somme de la durée (en secondes) de toutes les sessions avec les transactions de capture des données modifiées.

scan_phase

nvarchar(200)

Phase actuelle de la session. Un des types suivants :

PhaseDescription
1Lecture de la configuration
2Première analyse, génération de la table de hachage
3Deuxième analyse
4Deuxième analyse
5Deuxième analyse
6Contrôle des versions des schémas
7Dernière analyse
8Terminé

Lorsque session_id = 0, cette valeur est toujours une valeur d'agrégation.

error_count

int

Nombre d'erreurs rencontrées.

Lorsque session_id = 0, nombre total d'erreurs dans toutes les sessions.

start_lsn

nvarchar(23)

Numéro séquentiel dans le journal de démarrage pour la session.

Lorsque session_id = 0, numéro séquentiel dans le journal de démarrage pour la dernière session.

current_lsn

nvarchar(23)

Numéro séquentiel dans le journal actuel qui est analysé.

Lorsque session_id = 0, le numéro séquentiel dans le journal actuel est 0.

end_lsn

nvarchar(23)

Numéro séquentiel dans le journal de fin pour la session.

NULL = la session est active.

Lorsque session_id = 0, numéro séquentiel dans le journal de fin pour la dernière session.

tran_count

bigint

Nombre de transactions de capture des données modifiées traitées. Ce compteur est rempli lors de la phase 2.

Lorsque session_id = 0, nombre de transactions traitées dans toutes les sessions.

last_commit_lsn

nvarchar(23)

Numéro séquentiel dans le journal du dernier enregistrement du journal de validation traité.

Lorsque session_id = 0, numéro séquentiel dans le journal du dernier enregistrement du journal de validation pour toute session.

last_commit_time

datetime

Heure de traitement du dernier enregistrement du journal de validation.

Lorsque session_id = 0, heure du dernier enregistrement du journal de validation pour toute session.

log_record_count

bigint

Nombre d'enregistrements du journal analysés.

Lorsque session_id = 0, nombre d'enregistrements analysés pour toutes les sessions.

schema_change_count

int

Nombre d'opérations de langage de définition de données (DDL) détectées. Ce compteur est rempli lors de la phase 6.

Lorsque session_id = 0, nombre d'opérations DDL traitées dans toutes les sessions.

command_count

bigint

Nombre de commandes traitées.

Lorsque session_id = 0, nombre de commandes traitées dans toutes les sessions.

first_begin_cdc_lsn

nvarchar(23)

Premier numéro séquentiel dans le journal qui contenait des transactions de capture des données modifiées.

Lorsque session_id = 0, premier numéro séquentiel dans le journal qui contenait des transactions de capture des données modifiées.

last_commit_cdc_lsn

nvarchar(23)

Numéro séquentiel dans le journal du dernier enregistrement du journal de validation qui contenait des transactions de capture des données modifiées.

Lorsque session_id = 0, numéro séquentiel dans le journal du dernier enregistrement du journal de validation pour toute session qui contenait des transactions de capture des données modifiées

last_commit_cdc_time

datetime

Heure de traitement du dernier enregistrement du journal de validation qui contenait des transactions de capture des données modifiées.

Lorsque session_id = 0, heure du dernier enregistrement du journal de validation pour toute session qui contenait des transactions de capture des données modifiées.

latency

int

Différence, en secondes, entre end_time et last_commit_cdc_time dans la session. Ce compteur est rempli à la fin de la phase 7.

Lorsque session_id = 0, dernière valeur de latence différente de zéro enregistrée par une session.

empty_scan_count

int

Nombre de sessions consécutives qui ne contenaient aucune transaction de capture des données modifiées.

failed_sessions_count

int

Nombre de sessions qui ont échoué.

Notes

Les valeurs dans cette vue de gestion dynamique sont réinitialisées à chaque démarrage de l'instance de SQL Server.

Autorisations

Nécessite l'autorisation VIEW DATABASE STATE pour effectuer une requête dans la vue de gestion dynamique sys.dm_cdc_log_scan_sessions. Pour plus d'informations relatives aux autorisations sur les vues de gestion dynamique, consultez Fonctions et vues de gestion dynamique (Transact-SQL).

Exemples

L'exemple suivant retourne des informations pour la session la plus active.

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

Voir aussi

Référence

sys.dm_cdc_errors (Transact-SQL)