sys.dm_tran_session_transactions (Transact-SQL)
S’applique à : SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)
Renvoie les informations de corrélation des transactions et des sessions associées.
Remarque
Pour appeler cela à partir d’Azure Synapse Analytics ou du système de plateforme Analytics (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.
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.
Sur les objectifs de service SQL Database Basic, S0 et S1, et pour les bases de données dans des pools élastiques, le compte d’administrateur du serveur, le compte d’administrateur Microsoft Entra ou l’appartenance au ##MS_ServerStateReader##
rôle 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
Par l'intermédiaire de sessions liées et distribuées, il est possible à une transaction de s'exécuter dans plusieurs sessions. 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. En raison des différences de la façon dont ils sont enregistrés, open_transaction_count
peuvent ne pas correspondre sys.dm_exec_sessions
à .open_transaction_count
.
En exécutant plusieurs requêtes en mode validation automatique utilisant plusieurs ensembles de résultats actifs (MARS), il est possible d'avoir plusieurs transactions actives sur une seule 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.