sys.dm_tran_current_snapshot (Transact-SQL)

Retourne une table virtuelle qui affiche toutes les transactions qui sont actives au moment où la transaction de capture instantanée active démarre. Si la transaction actuelle n'est pas une transaction de capture instantanée, cette fonction ne retourne aucune ligne. sys.dm_tran_current_snapshot est similaire à sys.dm_tran_transactions_snapshot, mis à part qu'elle retourne uniquement les transactions actives pour la capture instantanée actuelle.

Syntaxe

sys.dm_tran_current_snapshot

Table retournée

Nom de colonne

Type de données

Description

transaction_sequence_num

bigint

Numéro de séquence de la transaction active.

Autorisations

Nécessite l'autorisation VIEW SERVER STATE sur le serveur.

Exemples

L'exemple suivant illustre un scénario de test dans lequel quatre transactions simultanées, chacune étant identifiée par un numéro de séquence de transaction, sont exécutées dans une base de données où les options ALLOW_SNAPSHOT_ISOLATION et READ_COMMITTED_SNAPSHOT sont définies à ON. Les transactions suivantes sont exécutées :

  • XSN-57 est une opération Update exécutée avec le niveau d'isolement sérialisable.

  • XSN-58 est identique à XSN-57.

  • XSN-59 est une opération Select exécutée avec le niveau d'isolement de capture instantanée.

  • XSN-60 est identique à XSN-59.

La requête suivante est exécutée dans l'étendue de XSN-59.

SELECT 
    transaction_sequence_num
  FROM sys.dm_tran_current_snapshot;

Voici l'ensemble des résultats.

transaction_sequence_num
------------------------
57
58

Les résultats indiquent que XSN-57 et XSN-58 étaient actives au moment où la transaction de capture instantanée XSN-59 a démarré. Ce même résultat persiste, même après la validation ou l'annulation de XSN-57 et XSN-58, jusqu'à la fin de la transaction de capture instantanée.

La même requête est exécutée dans l'étendue de XSN-60.

Voici l'ensemble des résultats.

transaction_sequence_num
------------------------
57
58
59

La sortie de XSN-60 inclut les mêmes transactions que celles qui apparaissent pour XSN-59, mais elle inclut également XSN-59, qui était active lorsque XSN-60 a démarré.