Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S'applique à :SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
Base de données SQL dans Microsoft Fabric
Retourne une table virtuelle qui affiche toutes les transactions qui sont actives au moment où la transaction d'instantané active démarre. Si la transaction actuelle n'est pas une transaction d'instantané, cette fonction ne retourne aucune ligne. sys.dm_tran_current_snapshot est similaire à sys.dm_tran_transactions_snapshot, sauf que sys.dm_tran_current_snapshot retourne uniquement les transactions actives pour la transaction d’instantané actuelle.
Note
Pour l’appeler à partir d’Azure Synapse Analytics ou d’Analytics Platform System (PDW), utilisez le nom sys.dm_pdw_nodes_tran_current_snapshot. Cette syntaxe n’est pas prise en charge par le pool SQL serverless dans Azure Synapse Analytics.
Syntax
sys.dm_tran_current_snapshot
Table retournée
| Nom de la colonne | Type de données | Description |
|---|---|---|
| transaction_sequence_num | bigint | Numéro de séquence de la transaction active. |
| pdw_node_id | int |
s’applique à: Azure Synapse Analytics, Système de plateforme Analytique (PDW) Identificateur du nœud sur lequel cette distribution est activée. |
Permissions
Sur SQL Server et SQL Managed Instance, vous devez disposer d’une autorisation VIEW SERVER STATE.
Sur sql Database de base, S0et objectifs de service S1, et pour les bases de données dans pools élastiques, le compte d’administrateur de serveur, le compte Administrateur Microsoft Entra ou l’appartenance au rôle serveur ##MS_ServerStateReader## est nécessaire. Sur tous les autres objectifs de service SQL Database, l’autorisation VIEW DATABASE STATE sur la base de données ou l’appartenance au rôle serveur ##MS_ServerStateReader## est requise.
Autorisations pour SQL Server 2022 et versions ultérieures
Nécessite VIEW une autorisation ÉTAT DE PERFORMANCE DU SERVEUR sur le serveur.
Examples
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 d'instantané.
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 d'instantané 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 d'instantané.
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é.
Voir aussi
Fonctions et vues de gestion dynamique (Transact-SQL)
Vues et fonctions de gestion dynamique liées aux transactions (Transact-SQL)