Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier les répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer de répertoire.
S’applique à :SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
Point de terminaison d’analytique SQL dans Microsoft Fabric
Entrepôt dans Microsoft Fabric
Base de données SQL dans Microsoft Fabric
La sys.dm_tran_session_transactions vue de gestion dynamique renvoie les informations de corrélation pour les transactions et sessions associées.
| Nom de la colonne | Type de données | Description |
|---|---|---|
session_id |
int | ID de la session dans laquelle la transaction est en cours d'exécution. |
transaction_id |
bigint | ID de la transaction. |
transaction_descriptor |
binary(8) | Identificateur de transaction utilisé par SQL Server lors de la communication avec le pilote client. |
enlist_count |
int | Nombre de requêtes actives dans la session qui effectue la transaction. |
is_user_transaction |
bit | 1 = La transaction a été lancée par une requête utilisateur. 0 = Transaction système. |
is_local |
bit | 1 = Transaction locale. 0 = Transaction distribuée ou transaction sur une session liée par une inscription. |
is_enlisted |
bit | 1 = Transaction distribuée inscrite. 0 = Transaction distribuée non inscrite. |
is_bound |
bit | 1 = La transaction est active sur la session par l'intermédiaire de sessions liées. 0 = La transaction n'est pas active sur la session par l'intermédiaire de sessions liées. |
open_transaction_count |
int | Nombre de transactions ouvertes pour chaque session. |
pdw_node_id |
int |
S’applique à : Azure Synapse Analytics, Analytics Platform System (PDW) Identificateur du nœud sur lequel cette distribution est activée. |
Autorisations
Sur SQL Server et SQL Managed Instance, l’autorisation VIEW SERVER STATE est requise.
Dans Microsoft Fabric, l’appartenance au rôle d’espace de travail Contributeur ou à un rôle plus privilégié est nécessaire pour interroger sys.dm_tran_session_transactions.
Sur les objectifs de service SQL Database Basic, S0 et S1, et pour les bases de données dans les pools élastiques, le compte d’administration du serveur, le compte d’administration Microsoft Entra ou l’appartenance dans ##MS_ServerStateReader## au rôle de serveur est requis. 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 plus récentes)
Nécessite l’autorisation VIEW SERVER PERFORMANCE STATE sur le serveur.
Notes
Grâce aux sessions liées et aux transactions distribuées, il est possible qu’une transaction s’exécute sous plus d’une session. Dans ce cas, sys.dm_tran_session_transactions affiche plusieurs lignes pour le même transaction_id, une pour chaque session sous laquelle la transaction est en cours d’exécution. À cause des différences dans la façon dont ils sont enregistrés, cela open_transaction_count pourrait ne pas correspondresys.dm_exec_sessions...open_transaction_count
En exécutant plusieurs requêtes en mode autocommit en utilisant plusieurs ensembles de résultats actifs (MARS), il est possible d’avoir plus d’une transaction active lors d’une même session. Dans ce cas, sys.dm_tran_session_transactions affiche plusieurs lignes pour le même session_id, une pour chaque transaction exécutée sous cette session.
Pour appeler depuis Azure Synapse Analytics ou Analytics Platform System (PDW), utilisez le nom sys.dm_pdw_nodes_tran_session_transactions. Cette syntaxe n’est pas prise en charge par le pool SQL serverless dans Azure Synapse Analytics.