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 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. Une des valeurs suivantes :
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 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