sys.dm_tran_transactions_snapshot
Mis à jour : 5 décembre 2005
Retourne une table virtuelle pour les numéros de séquence des transactions qui sont actives au démarrage de chaque transaction de capture instantanée. Les informations retournées par cette vue peuvent vous être utiles pour les opérations suivantes :
- Rechercher le nombre de transactions de capture instantanée actives.
- Identifier les modifications de données qui sont ignorées par une transaction de capture instantanée spécifique. Pour une transaction qui est active lorsqu'une transaction de capture instantanée démarre, toutes les modifications de données effectuées par cette transaction (même après sa validation) sont ignorées par la transaction de capture instantanée.
Prenons par exemple le résultat suivant de sys.dm_tran_transactions_snapshot :
transaction_sequence_num snapshot_id snapshot_sequence_num
------------------------ ----------- ---------------------
59 0 57
59 0 58
60 0 57
60 0 58
60 0 59
60 3 57
60 3 58
60 3 59
60 3 60
La colonne transaction_sequence_num
identifie le numéro de séquence de transaction (XSN) des transactions de capture instantanée actives. Le résultat indique deux valeurs : 59
et 60
. La colonne snapshot_sequence_num
identifie le numéro de séquence des transactions qui sont actives au moment où chaque transaction de capture instantanée démarre.
Le résultat indique que la transaction de capture instantanée XSN-59 démarre alors que deux transactions actives, XSN-57 et XSN-58, sont en cours d'exécution. Si XSN-57 ou XSN-58 effectue des modifications de données, XSN-59 ignore les changements et utilise le contrôle de version de ligne pour assurer une vue cohérente, d'un point de vue transactionnel, de la base de données.
La transaction de capture instantanée XSN-60 ignore les modifications de données apportées par XSN-57, XSN-58 et également XSN 59.
Syntaxe
dm_tran_transactions_snapshot
Table retournée
Nom de colonne | Type de données | Description |
---|---|---|
transaction_sequence_num |
bigint |
Numéro de séquence (XSN) d'une transaction de capture instantanée. |
snapshot_id |
int |
Identificateur de capture instantanée pour chaque instruction Transact-SQL lancée en mode de lecture validée à l'aide du contrôle de version de ligne. Cette valeur permet de générer une vue cohérente, d'un point de vue transactionnel, de la base de données prenant en charge chaque requête qui est exécutée en mode de lecture validée à l'aide du contrôle de version de ligne. |
snapshot_sequence_num |
bigint |
Numéro de séquence d'une transaction qui était active lorsque la transaction de capture instantanée a commencé. |
Notes
Lorsqu'une transaction de capture instantanée démarre, le moteur de base de données enregistre toutes les transactions qui sont actives à ce moment précis. sys.dm_tran_transactions_snapshot fournit ces informations pour toutes les transactions de capture instantanée actuellement actives.
Chaque transaction est identifiée par un numéro de séquence qui lui est affecté au moment où elle commence. Les transactions commencent au moment où une instruction BEGIN TRANSACTION ou BEGIN WORK est exécutée. Toutefois, le moteur de base de données n'attribue le numéro de séquence de la transaction que lors de l'exécution de la première instruction Transact-SQL qui accède aux données suite à l'instruction BEGIN TRANSACTION ou BEGIN WORK. Les numéros de séquence des transactions sont incrémentés d'une unité à la fois.
Autorisations
L'autorisation VIEW SERVER STATE est nécessaire sur le serveur.
Voir aussi
Référence
Fonctions et vues de gestion dynamique
Fonctions et vues de gestion dynamique liées aux transactions
Aide et Informations
Assistance sur SQL Server 2005
Historique des modifications
Version
Historique
5 décembre 2005
Terme
Définition
Contenu modifié :
- La section d'introduction a été développée afin d'inclure des informations sur la fonction de cette vue de gestion dynamique.
- La section Remarques a été développée afin de clarifier l'attribution des numéros de séquence des transactions.